Показать сообщение отдельно
Старый 28.10.2012, 13:35
Esigns вне форума Посмотреть профиль Отправить личное сообщение для Esigns Найти все сообщения от Esigns
  № 1  
Ответить с цитированием
Esigns

Регистрация: Dec 2011
Сообщений: 59
По умолчанию flash наследование помогите врубиться

Всем привет! Написал класс кнопки файл и раньше бы я, не особо заморачиваясь, копипастом сделал бы еще 10 кнопок(что я и начал делать), пока не вспомнил о том что было бы не плохо написать базовый класс кнопка и туда написать весь повторяющийся код. Тут то и начались проблеммы... Как собственно говоря разбить этот класс на 2(базовый и File) ? У меня что-то не получается, если написать "культурно", лезут ошибки, если с "костылями", тогда уж лучше без наследования - меньше быдлокода. Помогите пожалуйста, как правильно написать код? Никогда раньше не писал свои классы через наследование.

Вот мой класс кнопки "файл", весь код что будет здесь, повторяющийся в других кнопках, кроме
Цитата:
private var buttonOptions:Object = { textColor:0xFFFFFF, selectable:false, text:' Файл ', autoSize:TextFieldAutoSize.LEFT };
- он будет разным.


Код AS3:
public class File extends Sprite {
 
		private var button:TextField;
		private var buttonOptions:Object = { textColor:0xFFFFFF, selectable:false, text:' Файл ',   autoSize:TextFieldAutoSize.LEFT };
 
 
		public function File() {
			button = ObjConstructor.getTextField(buttonOptions);
			button.addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
			button.addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
			button.addEventListener(MouseEvent.CLICK, mouseClick);
			addChild(button);
		}
 
		private function mouseOver(e:MouseEvent):void {
			button.background = true;
			button.backgroundColor = 0x000000;
		}
 
		private function mouseOut(e:MouseEvent):void {
			button.background = false;
			button.backgroundColor = 0xFFFFFF;
		}
 
		private function mouseClick(e:MouseEvent):void {}
	}
Спасибо за оказанную помощь.