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

? изменение кода, использующего композицию, влечет за собой меньше последствий, чем изменение кода, использующего наследование;

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

Отсутствие поддержки абстрактных классов и методов

Во многих объектно-ориентированных проектах программ требуется использовать так называемые абстрактные классы. Абстрактным считается любой класс, в котором определены один или несколько абстрактных методов. Это методы, которые имеют имя, параметры и возвращаемый тип, но не имеют реализации (то есть не имеют тела метода). Класс, желающий расширить абстрактный класс, должен либо реализовать все абстрактные методы суперкласса, либо сам являться абстрактным классом; в противном случае на этапе компиляции произойдет ошибка. Подклассы абстрактного класса фактически обещают предоставить некий существующий код, который выполняет задачу, описанную абстрактным классом только в теории.

Абстрактные классы являются широко распространенной, важной частью проектов, в которых применяется полиморфизм. Например, ранее при обсуждении полиморфизма мы рассмотрели класс Shape и его подклассы Circle, Rectangle и Triangle. В обычной ситуации метод draw ( ) класса Shape был бы объявлен абстрактным методом, гарантируя, что:

? каждый подкласс класса Shape предоставляет средства для его отображения на экране;

? внешний код может безопасно вызывать метод draw ( ) над любым подклассом класса Shape (поскольку компилятор не позволит классу расширить класс Shape, не реализовав метод draw ( ) ).

К сожалению, язык ActionScript не поддерживает абстрактные классы и абстрактные методы. Объявление абстрактного метода в языке ActionScript заменяется простым описанием метода, который не содержит кода в своем теле, и указанием в документации, что этот метод является абстрактным. Позаботиться о том, чтобы все подклассы предполагаемого абстрактного класса реализовали соответствующие методы, должен программист (а не компилятор).

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

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

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

Полезные ссылки
Случайные записи
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.89
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 052
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.66
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 061
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 059
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 083
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 053
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.75
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.13
  • 14.06.2011">Базовые сведения о графических редакторах.
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 045
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 078
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.94
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 031
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.115
Опрос

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

View Results

Loading ... Loading ...