Показать сообщение отдельно
Старый 03.06.2010, 15:17
markII вне форума Посмотреть профиль Отправить личное сообщение для markII Найти все сообщения от markII
  № 6  
Ответить с цитированием
markII

Регистрация: Nov 2009
Сообщений: 56
Цитата:
М.б. в таком случае лучше использовать композицию, а не наследование?
а что это?

Добавлено через 20 минут
Вобщем, я понял.Из расширяемого класса нельзя считать метод или переменную,но можно в него передать заранее, на этапе инициализации конструктора.Если кому интересно что я собсна хотел получить вот код
Расширяющий класс
Код AS3:
package{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;
 
	public class RedBox extends MoveController {
 
		public static var c:int = 276;
 
		private var bgColor:uint      		= 0xAE0D0D;
                private var borderColor:uint  		= 0x666666;
                private var borderSize:uint   		= 3;
                private var cornerWidth:uint 		= 16;
		private var cornerHeight:uint 		= 16;
 
		public function RedBox(x:Number,y:Number) {
			var t = RedBox;
			super(t);//этот метод передает этот класс в расширяемый класс MoveController.Можно передать статическую переменную с таким образом var t = RedBox.c;
			var child:Shape = new Shape();
			child.name = "RedBox"+x;
			child.graphics.beginFill(bgColor);
			child.graphics.lineStyle(borderSize, borderColor);
			child.graphics.drawRect(x, y, cornerWidth,cornerHeight);
			child.graphics.endFill();
			addChild(child);
			this.addEventListener(MouseEvent.MOUSE_DOWN,onMousedown);
			this.addEventListener(MouseEvent.MOUSE_UP,onMouseup);
		}
	}
}
Расширяемый класс
Код AS3:
package{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;
 
	public class MoveController extends Sprite {
 
		public var  a:Number = 6;
		private var al;
 
		public function MoveController(t) {
 
			al = t//Здесь я принимаю значения от расширяющего класса.
			trace("al= "+ al)			
		}
		public function onMousedown(e:MouseEvent):void {
			e.stopPropagation()
			e.target.startDrag();
		}
		public function onMouseup(e:MouseEvent):void {
			e.stopPropagation()
			e.target.stopDrag();
		}
	}
}
Как оказалось все не так страшно(для меня).Коля Муков помог))