Показать сообщение отдельно
Старый 27.05.2016, 22:19
Azrael вне форума Посмотреть профиль Отправить личное сообщение для Azrael Найти все сообщения от Azrael
  № 8  
Ответить с цитированием
Azrael
 
Аватар для Azrael

Регистрация: Sep 2015
Сообщений: 69
Цитата:
Сообщение от 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?