Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Абстрактные классы: нужны примеры использования (http://www.flasher.ru/forum/showthread.php?t=145967)

taras_ 25.10.2010 01:15

Абстрактные классы: нужны примеры использования
 
Теоретически про абстрактные классы в AS3.0 наслышан начитан. Но полноценных примеров почти не встречал. И буду чрезвычайно рад, если вдруг найдется гуру, который пояснитЪ и наглядно продемонстрирует личный опыт использования абстрактных классов.

dimarik 25.10.2010 01:46

Цитата из вики
Цитата:

Абстрактный класс можно рассматривать в качестве интерфейса к семейству классов, порождённому им, но, в отличие от классического интерфейса, абстрактный класс может иметь определённые методы, а также свойства.
От себя бы уточнил, что АК может иметь реализацию методов и акцессоров.

Psycho Tiger 25.10.2010 01:53

Именно конкретно абстрактных (не интерфейсов) не использовал никогда. Использовал классы - типа BaseSheep, который никогда не создавал, но который являлся суперклассом для таких классов как LandSheep, AirSheep.

taras_ 25.10.2010 10:21

Цитата:

Сообщение от dimarik (Сообщение 945132)
От себя бы уточнил, что АК может иметь реализацию методов и акцессоров.

Т.е.: АК отличается от интерфейса тем, что помимо сигнатур публичных методов описывает также и имплементацию, правильно я тебя понял?

Но это все теория, жеж. Вернемся к сабжу. :)

Добавлено через 2 минуты
Цитата:

Сообщение от Psycho Tiger (Сообщение 945135)
Использовал классы - типа BaseSheep

Аналогично! Базовых классов мне всегда хватало, но... Если я решал необходимые мне задачи с помощью базовых классов, которые никогда не инстанционировал, и мне этого вполне хватало, то какие-же задачи можно решать можно с помощью а-классов в AS3.0?

i.o. 25.10.2010 10:27

Вот вам пара примеров абстракных классов: DisplayObject, DisplayObjectContainer, InteractiveObject.
Дальше сами дотункаете )

taras_ 25.10.2010 10:45

Ого, пойду курить доки =]

i.o. 25.10.2010 10:53

Честно говоря не понял такой оживленной заинтересованности в абстрактных кслассах. Нельзя создать, но можно унаследоваться, вот и все. Абстракция так сказать.

-De- 25.10.2010 11:29

AS3 не поддерживает абстрактные классы (ключевого слова abstract нет). Есть некоторые встроенные (напр. DisplayObject, DisplayObjectContainer, InteractiveObject =), но самому делать такие нельзя. Класс, "который никогда не создавал, но который являлся суперклассом" - самое близкое. Можно извращаться и с помощью исключений или ещё как заставлять переопределять методы, но запретить создавать такой класс нельзя (может как-то и можно, но думаю, через одно место).

i.o. 25.10.2010 11:43

нативно нельзя. Синглтоны тоже нельзя, но ведь вы их создаете ))
В AS3 много чего нельзя. Есть например кейворд virtual, который не выполняет свои обязанности.

taras_ 25.10.2010 11:59

Цитата:

Сообщение от i.o. (Сообщение 945193)
Честно говоря не понял такой оживленной заинтересованности в абстрактных кслассах. Нельзя создать, но можно унаследоваться, вот и все. Абстракция так сказать.

Прокачка тем Factory and Template Method Patterns заставляет углублённо интересоваться.


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

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