[AS3.0] Interface의 사용.


MainClass
TestClass를 ITestInterface타입으로 생성하여 사용하고 있다.
여기서 중요한 점은 인터페이스로 객체를 생성해서 DisplayObject으로 형변환이 가능하다는 점이다.
ITestInterface인터페이스를 구현한 TestClass가 Sprite를 상속받고 있기 때문에 이런 형변환이 가능하다.

Interface
평범한 Interface 이다.

Interface 구현한 클래스.

Sprite을 상속받았다(DisplayObject 로 형변환이 가능해졌다.)
ITestInterface 인터페이스를 Implements 한다.
생성자에서 graphics 속성을 이용하여 가로, 세로 100 px 의 붉은 네모를 그렸고 test 메소드를 구현하였다.


소스 파일.

TestClass는 sprite클래스를 상속받고 있으며  는 ITestInterface를 구현하고 있다.


실행화면..





ps.검신님이 알려주신 내용.

형변환시에는 형변환 검사를 해야 안전하다.
바로 아래와 같은 코딩이 필요하다.. 이렇게 하지 않으면 런타입오류가 발생할 가능성이 높다.

   var iTest:ITestInterface = new TestClass();
   if(iTest is DisplayObject){
    this.addChild(DisplayObject(iTest));
    iTest.test(); 
   }