![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
помогите плизз разобраться а то в манах не понял нифига как делать:
вопрос раз про наследование классов и конструктор с параметрами: public class BaseObject extends BaseObject { public function BaseObject( player: int ) { m_player = player; } } public class BaseBuilding extends BaseObject { // как правильно записать конструктор для BaseObject? public function BaseBuilding( player: int ) { } } public class BaseObject { //есть ли аналог такой функции С++: virtual void destroy( ) = 0; public function create( ) : Boolean { return true; } } public class BaseBuilding extends BaseObject { // как правильно вызывать метод класса и вызывать метод родительского класса? public function create( ) : Boolean { //С++ синтаксис явно не катит ((( return BaseObject::create(); } }
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
strange mood
|
1. Конструктор родителя вызывается через super()
2. Любой метод (кроме помеченных как final) можно переопределить в потомках через override. Родительский метод вызывается через super Деструкторов в AS3 нет. 3. Перегрузки в AS3 нет. Можно пометить параметры как необязательные и нетипизированные, и в зависимости от реально переданного типа внутри метода определить нужное поведение.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
1.
2. Вроде нету в АС3 виртуальных, насколько я помню. А зачем Вам дестройер? Есть GC; 3. Ооп-верной перегрузки (с изменением сигнатуры функции) тоже вроде нету, можно обойти ее передав Object и определять типы внутри функции и/или заюзать неопределенное количество входных параметров. Если в чем-то не прав, сильно не бейте. ![]() |
|
|||||
|
а я ему не верю, все массивы и объекты созданные через new хочу сам убивать.
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
Цитата:
Цитата:
чистовиртуальные функции задать не получится. используйте интерфейсы - аналог абстрактных классов в c++
__________________
я могу стать всем, если только захочу |
|
|||||
|
Modus ponens
|
В AS3 есть всего 2 объекта которые позволяют форсировать их уничтожение: BitmapData.dispose() и Loader.unloadAndStop() [доступно только в 10м плеере]. Все остальные объекты самостоятельно вы удалить не можете.
__________________
Hell is the possibility of sanity |
|
|||||
|
Динамические можно удалить с помощью delete.
|
|
|||||
|
Modus ponens
|
delete - это как удаление файла в системе, удаляется только метка, а destruct() если бы такой был, это было бы как если вы поверх старого файла нули записали, т.е. полное физическое уничтожение. delete может удалить только ссылку на объект, но если ссылок несколько, то ничего с объектом не случится.
__________________
Hell is the possibility of sanity |
|
|||||
|
Цитата:
__________________
я могу стать всем, если только захочу |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|