Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Класс не наследуется другим классом (http://www.flasher.ru/forum/showthread.php?t=109264)

Волгоградец 11.03.2008 12:49

Класс не наследуется другим классом
 
Здравствуйте! Помогите пожалуйста разобраться. Вот есть класс:
Код:

import mx.utils.Delegate;

class A {
  private static var a:Number = 0;
  private var _mc:MovieClip;

  public function A (mc:MovieClip){
      _mc = mc;
      _mc.onEnterFrame = Delegate.create(this, example);
  }

  public function example ():Void{
      A.a ++;
      trace (A.a);
  }
}

Этот класс полностью наследует свойства и методы класса А:
Код:

class B extends A {

}

Во .fla пишу:
Код:

var variable:B = new B(this);
В результате: ничего. В чем моя ошибка?

Скрипун 11.03.2008 13:02

Код:

class B extends A {
public function B (mc:MovieClip) {
 super(mc)
}
}

когда ты пишешь просто
Код:

class B extends A {

}

то компилятором автоматически добавляется
Код:

public function B () {
 super()
}

, то есть в конструктор супер класса ничего не передаётся

Волгоградец 11.03.2008 13:14

Понял. Спасибо, Скрипун.

etc 11.03.2008 13:24

Вызов конструктора супер-класса лучше всегда писать, даже в том случае, когда у вас класс не наследуется от других (он на самом деле всегда наследуется, от того же Object).

Волгоградец 11.03.2008 13:38

__etc, т.е. всегда в конструктор следует добавлять строчку super(), правильно я понял? И почему так надо делать?

etc 11.03.2008 13:47

Цитата:

Сообщение от Волгоградец
__etc, т.е. всегда в конструктор следует добавлять строчку super(), правильно я понял? И почему так надо делать?

Для того, чтобы правильно понимать суть процесса. Конструктор не всегда требуется вызывать в первую очередь.

Волгоградец 11.03.2008 13:56

Вроде понятно. Шпасиба.


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

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