Показать сообщение отдельно
Старый 28.09.2010, 14:54
ShimoBB вне форума Посмотреть профиль Отправить личное сообщение для ShimoBB Найти все сообщения от ShimoBB
  № 4  
Ответить с цитированием
ShimoBB

Регистрация: Jul 2010
Сообщений: 5
Цитата:
Сообщение от filepark Посмотреть сообщение
понятно, что если бы самого начала zzz был TestClass, всё было бы ок. Но он сначала Спрайт, а потом должен стать TestClass. Каждый раз писать (zzz as TestClass) тоже не дело. Мне нужно чтобы переменная сменила свой тип раз и навсегда. Я и пытался это сделать - TestClass(zzz); У меня несколько классов:TestClass1, TestClass2, TestClass3 ... и объектом какого класса станет zzz заранее незвестно.

открыв Мука на стр.191 мы увидим:
var meal:Food = new Apple();
Apple(meal);
теперь типом meal стал Apple, я лишь повторил
тип переменной zzz вы не сможете поменять, она строго типизирована.
введите локальную переменную и её делайте нужного вам типа например так:
Код AS3:
package {
	import flash.display.*;
 
	public class MainClass extends Sprite {
		private var zzz:Sprite;
 
		public function MainClass() {
			var yyy:TestClass= new TestClass();
			zzz=yyy; 
			yyy.myMethod();
			addChild(yyy);
		}
	}
}