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

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

  • DisplayObject
  • InteractiveObject
  • DisplayObjectContainer
  • Graphics

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

This content requires Adobe Flash Player.


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

This content requires Adobe Flash Player.


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

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


Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>