============================================================
Test.as
============================================================
package{
public class Test{
protected var _myAge:int;
public function getAge():Number{
return _myAge;
}
public function setAge(m:Number):void{
_myAge=m;
}
public function getTest2():Test2{
return new Test2();
}
}
}
internal class Test2{
internal var t2:int=3;
public function getT2():int{
return t2;
}
}
============================================================
Test2.fla
============================================================
import Test;
var m:Test = new Test();
//var t2:Test2 = m.getTest2(); //주석 제거시 에러 발생
trace(m.getTest2().getT2()); // 에러가 발생하지 않는다.
============================================================
var t2:Test2 = m.getTest2(); 에서 에러가 발생하는 이유
Test2는 internal 형으로 선언되었기 때문에 Test2.fla에서 Test2의 형태를 확인할 수 없다.
하지만 m.getTest2().getT2()); 처럼 선언한 다음 바로 접근한 경우는
내부에서 접근한 형태이기 때문에 바로 사용이 가능하다
이처럼 사용하도록 만든 것이 바로 Factory 공법이다.
============================================================
'etc > old' 카테고리의 다른 글
Definition fl.controls:Button could not be found. (0) | 2008.04.28 |
---|---|
인터페이스 구현 예제 (0) | 2008.04.25 |
[XOR 사용] 초간단 암호화 복호화 (0) | 2008.04.24 |
GOP : Group of pictures (0) | 2008.04.23 |
W카운터 소드 (adjet.js) 들여다 보기 (0) | 2008.04.18 |