Руководство по actionscript. часть 1, стр. 104

Public class В extends А { public function n ( ) { trace(«Method n( ) was called»);

}

}

Теперь экземпляры класса В могут использовать все методы и переменные не только класса В, но и его суперкласса А:

var blnstance = new В( );

// Вызов унаследованного метода, определенного в классе А blnstance. m( ); // Выводит: Method m( ) was called // Вызов метода, определенного в классе В blnstance. п( ); // Выводит: Method n( ) was called // Обращение к унаследованной переменной trace(blnstance. v); // Выводит: 10

В данном случае говорят, что класс В специализирует класс А. Класс В использует возможности класса А в качестве своей основы, добавляя свои собственные возможности или даже — как мы увидим далее — перекрывая возможности класса А измененными для собственных нужд версиями. Таким образом, в отношении наследования между двумя классами расширяемый класс (в нашем случае А) называется базовым, а расширяющий класс (в нашем случае В) — производным. Иногда для обозначения базового и производного классов также используются понятия «предок» и «потомок» соответственно.

Наследование может (а зачастую так и происходит) включать больше чем два класса. Например, даже несмотря на то, что класс В унаследован от класса А, класс В может стать базовым для другого класса. Следующий код демонстрирует третий класс С, который расширяет класс В, а также определяет новый метод о ( ). Класс С может использовать все методы и переменные, определенные в нем самом и во всех его предках, то есть в его суперклассе (В) и суперклассе суперкласса (А).

public class С extends В { public function о ( ) { trace(«Method o( ) was called»);

}

}

// Использование:

var clnstance = new C( );

// Вызов метода, унаследованного от класса А

clnstance. m( ); // Выводит: Method m( ) was called

// Вызов метода, унаследованного от класса В

clnstance. п( ); // Выводит: Method n( ) was called

// Вызов метода, определенного в классе С

clnstance. о( ); // Выводит: Method о( ) was called

// Обращение к переменной, унаследованной от класса А.

trace(clnstance. v); // Выводит: 10

Более того, каждый суперкласс может иметь любое количество подклассов (однако у суперкласса нет никакой возможности узнать, какие подклассы расширяют его возможности). Следующий код добавляет в наш пример четвертый класс D. Как и В, класс D наследуется непосредственно от А. Класс D может использовать методы и переменные, определенные в нем самом и в его суперклассе А.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 139
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 037
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 120
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 040
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 062
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 151
  • 23.10.2011">Нанороботы от японцев
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 074
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 018
  • 11.03.2011">Руководство по actionscript. часть 3, стр. 144
  • 14.08.2011">Система видеонаблюдения – выбери лучшее
  • 06.10.2012">Google и американские издатели урегулировали семилетний спор
  • 06.03.2013">Молдавская мамалыга
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 096
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.95
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...