Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ООП, Абстракция (http://www.flasher.ru/forum/showthread.php?t=160356)

DarkKnight2009 11.07.2011 22:32

ООП, Абстракция
 
Здравствуйте.
Подскажите пожалуйста, почему не выводится текст :(
Есть класс, создающий текст
Код AS3:

package abstract {
 
        import flash.display.MovieClip;
        import flash.text.TextFormat;
        import flash.text.TextField;
 
 
        public class getTextAbstract extends MovieClip {
 
 
                public function getTextAbstract(txtFmt:TextFormat, txtFont:String, txtSize:uint, txtClr:String, txtFld:TextField, txtWidth:uint, txtText:String, txtX:uint, txtY:uint) {
 
                        txtFmt = new TextFormat();
                        txtFmt.font = txtFont;
                        txtFmt.size = txtSize;
                        txtFmt.color = txtClr;
 
                        txtFld = new TextField();
                        txtFld.width = txtWidth;
                        txtFld.text = txtText;
                        txtFld.x = txtX;
                        txtFld.y = txtY;
                        txtFld.setTextFormat(txtFmt);                       
 
                        addChild(txtFld);
 
                }
        } // end Class       
} // end Package

И главный класс
Код AS3:

package {
 
        import flash.display.MovieClip;       
        import flash.text.TextFormat;
        import flash.text.TextField;
 
        import abstract.getTextAbstract;
 
        public class getAbstract extends MovieClip {               
 
                private var txtFrtHeader:TextFormat;
                private var fontHeader:String = "Arial";
                private var sizeHeader:uint = 20;
                private var headerColor:String = "0x0000FF";
                private var txtFldHeader:TextField;       
                private var headerWidth:uint = 200;
                private var headetText = "Hello World !!!";
                private var headerX:uint = 200;
                private var headerY:uint = 150;
 
 
                public function getAbstract() {
 
                        var setText:getTextAbstract = new getTextAbstract(txtFrtHeader,  fontHeader, sizeHeader, headerColor, txtFldHeader, headerWidth, headetText, headerX, headerY);
 
                }
 
        } // end Class       
} // end Package

Когда запускаю флеш, то ничего не выводится, ошибок тоже никаких нет.
Подскажите пожалуйста, очему не выводится текст ?

КорДум 11.07.2011 22:45

Код AS3:

public function getAbstract() {
        var setText:getTextAbstract = new getTextAbstract(txtFrtHeader,  fontHeader, sizeHeader, headerColor, txtFldHeader, headerWidth, headetText, headerX, headerY);
        addChild(setText);
}


DarkKnight2009 11.07.2011 22:49

Спасибо!

wvxvw 12.07.2011 17:46

А при чем тут ООП и абстракция? :)
И, даже если вы не смотря на уговоры будете называть классы со строчной, название класса должно быть именем существительным. Если вам нужно указать на то, что класс нужен чтобы совершать какое-то действие, то используйте отглагольное существительное, хотя это тоже будет звучать немного подозрительно, лучше всего если именем класса можно заменить действующее лицо, а не действие. Например, загрузчик - хорошо, загрузка - плохо. Если название функции начинается с get, то читающий предполагает что функция что-то возвращает. Соответственно, если сильно нужно, чтобы слово get присутствовало в названии класса, то getter, будет очевидным решением, но лучше стараться давать короткие и однозначно понятные имена.
Это не придирки не по делу, т.как вы пишете код для других людей (а не для компилятора) в первую очередь.


Часовой пояс GMT +4, время: 15:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.