[AS3] ActionScript 3.0 strict 옵션의 기능

Programming/ActionScript 3.0 2007. 7. 5. 17:22
서브 클래스를 정의하려면 extends 키워드를 사용한다.
// 부모클래스 정의
public class MyBase
{
public function hello():String {
return "hello";
}
}

// 서브 클래스의 정의
public class MySub extends MyBase
{
}


서브 클래스의 오브젝트는 부모클래스의 오브젝트와 같게 사용할 수 있다.
// MyBase 형의 변수에 대입
var base:MyBase = new MyBase();
var sub:MyBase = new MySub();

// MyBase 형의 인수를 받는 함수에 건넨다
needBase(sub);
needBase(base);

public function needBase(obj:MyBase):void {
trace(obj.hello());
}
반대로 부모클래스를 서브 클래스로 대신하여 인수로 전달 할 수 없다, 아래의 코드는 ActionScript 3.0 환경 설정에서 -strict 옵션을 붙이지 않으면 실행할 수 있지만 ActionScript 2.0에서는 에러를 출력한다.
var sub:MyBase = new MySub();
needSub(sub);

public function needSub(obj:MySub):void {
trace(obj.hello());
}

    

설정

트랙백

댓글