------------------------------------------
Movable.as
------------------------------------------
package
{
public interface Movable{
function _start():void;
function _pause():void;
function _stop():void;
}
}
------------------------------------------
Plane.as
------------------------------------------
package{
public class Plane implements Movable{
public function _start():void{
trace("plane_start");
};
public function _pause():void{
trace("plane_pause");
};
public function _stop():void{
trace("plane_stop");
};
}
}
------------------------------------------
Car.as
------------------------------------------
package{
public class Car implements Movable{
public function _start():void{
trace("car_start");
};
public function _pause():void{
trace("car_pause");
};
public function _stop():void{
trace("car_stop");
};
}
}
------------------------------------------
test.fla
------------------------------------------
import Movable;
import Car;
var go1:Movable = new Car();
var go2:Movable = new Plane();
go1._start();
go2._start();
------------------------------------------
결과
------------------------------------------
car_start
plane_start
------------------------------------------
장점
var go1:Movable = getObject(); 로 구현하면...
go1._start(); 이런식으로 명명하였다면...
getObject()의 리턴값에 따라 _start()의 메소드가 비행기, 차의 오브젝트에 메소드가 될 수 있다.
그러므로 프로그래머 입장에서 볼때는 확장성이 그만큼 커진다고 볼 수 있다.
중요한 내용이므로 다시한번 봐야 할텐데... 맨날 뭐 절차적 코딩하다가 OOP형태의 프로그래밍 하려니깐 힘드네;;
Movable.as
------------------------------------------
package
{
public interface Movable{
function _start():void;
function _pause():void;
function _stop():void;
}
}
------------------------------------------
Plane.as
------------------------------------------
package{
public class Plane implements Movable{
public function _start():void{
trace("plane_start");
};
public function _pause():void{
trace("plane_pause");
};
public function _stop():void{
trace("plane_stop");
};
}
}
------------------------------------------
Car.as
------------------------------------------
package{
public class Car implements Movable{
public function _start():void{
trace("car_start");
};
public function _pause():void{
trace("car_pause");
};
public function _stop():void{
trace("car_stop");
};
}
}
------------------------------------------
test.fla
------------------------------------------
import Movable;
import Car;
var go1:Movable = new Car();
var go2:Movable = new Plane();
go1._start();
go2._start();
------------------------------------------
결과
------------------------------------------
car_start
plane_start
------------------------------------------
장점
var go1:Movable = getObject(); 로 구현하면...
go1._start(); 이런식으로 명명하였다면...
getObject()의 리턴값에 따라 _start()의 메소드가 비행기, 차의 오브젝트에 메소드가 될 수 있다.
그러므로 프로그래머 입장에서 볼때는 확장성이 그만큼 커진다고 볼 수 있다.
중요한 내용이므로 다시한번 봐야 할텐데... 맨날 뭐 절차적 코딩하다가 OOP형태의 프로그래밍 하려니깐 힘드네;;
'etc > old' 카테고리의 다른 글
Bitmap 간단 사용 예시 (0) | 2008.04.30 |
---|---|
Definition fl.controls:Button could not be found. (0) | 2008.04.28 |
Factory 공법 (1) | 2008.04.24 |
[XOR 사용] 초간단 암호화 복호화 (0) | 2008.04.24 |
GOP : Group of pictures (0) | 2008.04.23 |