AS3에서는 import 선언문을 클래스 선언문에 넣지 않고 package 문에 넣는 것이 어떻습니까?패키지에 import 문을 넣는 이유는 무엇입니까?
이것은 일반적인 (오히려 무의미) AS3 클래스입니다 :
package my.foo.package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class FooClass extends MovieClip
{
public static const EVENT_TIME_UP:String = 'timeUpEvent';
public function FooClass()
{
var timer:Timer = new Timer(2000, 1);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
}
private function timerHandler(e:TimerEvent):void
{
dispatchEvent(new Event(FooClass.EVENT_TIME_UP));
}
}
}
왜 모든 import 문은 클래스에 외부, 거기 모든 방법을 이동하기위한 것입니다? 클래스를 아래처럼 클래스 선언 내부로 가져올 때 클래스는 완벽하게 작동합니다.
package my.foo.package
{
import flash.display.MovieClip;
public class FooClass extends MovieClip
{
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
public static const EVENT_TIME_UP:String = 'timeUpEvent';
public function FooClass()
{
var timer:Timer = new Timer(2000, 1);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
}
private function timerHandler(e:TimerEvent):void
{
dispatchEvent(new Event(FooClass.EVENT_TIME_UP));
}
}
}
내 수업에서 확장하기 때문에 패키지에 있어야하는 것은 영화 클립 가져 오기 일뿐입니다.
Adobe AS3 coding conventions에는 아무런 관련이 없습니다.
그래서 우리는 왜 실제로 패키지를 사용하는 클래스가 아닌 패키지에 가져 오기를 넣을까요? 패키지가 가져온 클래스를 사용하고 있지 않습니까? 수입품을 클래스로 옮기면 왜 아직도 작동합니까?
마지막 괄호 안의 부분을 제외하고 소식에 동의하십시오. 내부적으로 사용되는 클래스 (패키지 명령문 블록 외부의 개인 클래스)에 대해 클래스를 다시 가져와야합니다. 패키지 블록 내부의 import 문은 패키지 블록 외부에서 볼 수 없습니다. – Amarghosh