Цитата:
Сообщение от undefined
передача класса в метод:
Код AS3:
private function someMethod(someClass:Class) {
..
}
someMethod(Object);
|
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.*;
public class Main extends Sprite
{
var MenuScreen:Menu = new Menu();
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
ShowScreen(MenuScreen);
}
public function ShowScreen(Screen:Class)
{
addChild(Screen);
}
}
}
Выдает ошибку Implicit coercion of a value of type Menu to an unrelated type Class. Что не так сделал?
Цитата:
Сообщение от undefined
Передача экземпляра класса:
Код AS3:
private function someMethod(screen:Showable) {
..
}
var myScreen:Showable=new MyScreen();// класс MyScreen наследует/имплементирует класс/интерфейс Showable
someMethod(myScreen);
|
А зачем нужно наследовать/имплементировать? Нельзя просто в функцию передавать параметр который нужно и который функция будет делать addChild?