ГлавнаяActionScript 3 — «100 советов» › Абстрактные классы

Абстрактные классы

June 19th, 2006
К сожалению, ActionScript 3 НЕ поддерживает абстрактные классы (экземпляры которых нельзя создать, а можно только унаследовать). Т.е. вы не можете создавать ваши собственные абстрактные классы. Однако, обратите внимание, что некоторые из внутренних классов ActionScript сами по себе являются абстрактными. Эти классы включают:
  • DisplayObject
  • InteractiveObject
  • DisplayObjectContainer
  • Graphics

Как и с абстрактными классами вы не можете создавать их экземпляры с помощью ключевого слова new.

Код:
var myObj:InteractiveObject = new InteractiveObject(); // ERROR

Однако, в дополнение к этому, в ActionScript вы также не можете непосредственно расширять эти классы и создавать экземпляры таких подклассов

Код:
package { import flash.display.DisplayObject; public class MyDisplay extends DisplayObject{ public function MyDisplay (){ // ERROR } } }

Если вы попытаетесь унаследовать один из них и создать экземпляр своего наследника, вы получите тот же Argument Error, что и при попытке создать экземпляр одного из этих классов непосредственно.

Вместо этого вам необходимо расширять те внутренние классы, которые уже являются наследниками этих классов. К примеру, если вы хотите расширить DisplayObject, вы можете вместо этого расширить Shape, легкий встроенный класс, унаследованный от DisplayObject.

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Права доступа Ключевое слово override
  1. Пока без комментариев.
  1. Пока нету.