Форум 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=135913)

lubko 05.02.2010 02:04

наследование+конструкторы
 
Код AS3:

public dynamic class AAA extends MovieClip{
    private var Name:String;
    public function AAA(nm:String) {
        Name=nm;
    }               
}
public class BBB extends AAA{
    private var Name2:String;
    public function BBB(nm:String,nm2:String) { //ошиба 1203: No default constructor found in base class AAA.
        super.Name=nm;
        Name2=nm2;
    }               
}

то есть BBB должен расширить AAA.
ну и еще не совсем понятно с dynamic. без него Name получить не выходит. это единственный путь и хорош ли он?

Я не волшебник, я только учусь...

Wolsh 05.02.2010 02:22

super - это конструктор ААА. Он принимает параметр - nm:String
Так что в Вашем конструкторе ВВВ необходимо вызвать конструктор суперкласса и передать ему параметр -
Код:

super(nm);
И отвыкайте сразу называть переменные с большой буквы. Всегда с маленькой, а приватные - еще и с подчеркиванием - _name.

Добавлено через 8 минут
Да, еще - если Вы хотите видеть в классе ВВВ переменную из ААА, она не должна быть приватной. Должна быть public (тогда она видна вообще всем) или protected - тогда она видна в самом классе и в его наследниках.

lubko 05.02.2010 03:41

разобрался.спс.
Цитата:

И отвыкайте сразу называть переменные с большой буквы. Всегда с маленькой, а приватные - еще и с подчеркиванием - _name.
исправлюсь


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

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