![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 73
|
Здравствуйте,
можно ли задавать конструктор класса с параметрами? То есть например так: package classes{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.text.TextField;
public class InputTxtField extends Sprite {
public function InputTxtField(xPoint:uint, yPoint:uint, w:uint, h:uint) {
doDrawRect(w, h);
doDrawTxt(w, h);
this.getChildAt(0).x=xPoint;
this.getChildAt(0).y=yPoint;
}
private function doDrawRect(wdth:uint, hght:uint) {
var rect:Sprite = new Sprite;
rect.graphics.beginFill(0xdddddd);
rect.graphics.lineStyle(1, 0x999999);
rect.graphics.drawRect(0, 0, wdth, hght);
rect.graphics.endFill();
addChild(rect);
}
private function doDrawTxt(wdth:uint, hght:uint) {
var txt:TextField = new TextField;
txt.x=0;
txt.y=0;
txt.border = true;
txt.width = wdth;
txt.height = hght;
txt.text = "Привет";
addChild(txt);
}
}
}
|
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Можно
|
|
|||||
|
Modus ponens
|
Да, только зачем передавать 4, когда можно 1 (Rectangle)? И если собираетесь использовать в качестве компонента (т.е присвоить этот класс клипу в библиотеке) нужно задать дефолтные значения аргументам.
Кроме того не типизировать значения возвращаемые методами - плохо. Ссылаться на нигде не объявленные инстансы чего бы то ни было типа getChildAt() - тоже плохо, как минимум в try{}catch(){} поместите. Если вы вызываете конструктор без круглых скобок, имейте в виду, что это не то же самое, что нормальное создание экземпляра класса. Особенно, если это пользовательский класс.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 170
|
Не могли бы вы объяснить, что это (если мы вызываем конструктор без ())? Спасибо.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Скобки обязательны. Почему работает без них — непонятно, но за это надо отрывать руки.
|
|
|||||
|
У мука на 17 странице такие примеры есть OReilly.Essential.ActionScript.3.0.Jun.2007.pdf
Цитата:
глаза на лбу полдня были -)
__________________
Сам себе репортер Последний раз редактировалось terbooter; 04.08.2008 в 12:09. |
|
|||||
|
ИМХО это просто некие, не понятные мне понты программистов...
![]() наподобие заменять нормальное и удобное на
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
|
Modus ponens
|
В ПХП это обычная практика - создавать инстансы не выполняя конструктор. В АС эта фича работает как-то не до конца, т.е. мне как-то попадался случай, когда создавая в цикле текстфилды таким способом Флеш просто "ленился" их создавать, т.е., предположим, штук 5 создавал, а потом просто игнорировал =)
Вобщем, в любом случае, если в конструкторе что-то надо выполнить, лучше так не делать, а то потом можно будет ооочень долго ошибки искать.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|