![]() |
Деструктор класса
Есть класс:
Код:
public class CBall extends СObjectТ.е. чтобы удалить экземпляр класса из памяти нужно обнулить ссылку, сборщик мусора соберет данные, которые находятся без ссылки. Но, как мне внутри функции класса удалить данный класс из памяти? |
никак, надо удалять экземпляр класса, в AS3.0 не реализованы деструкторы, в отличии к примеру от PHP5
|
Мне скорее нужно узнать, как обнулить ссылку экземпляра функцией внутри класса.
|
this = null; - это бред
|
А в каких языках можно сделать
Код:
this = null; |
В функции destroy() (к примеру) вы должны только подготовить объект к удалению, а обнулять на него ссылку должен родитель, предварительно вызвав функцию destroy()
|
Цитата:
|
Подведем итог. Объект сам себя удалить не может =)
|
Ну почему же?
Код AS3:
|
Цитата:
|
Значит, я не понял о чем речь. Извините:)
|
Цитата:
|
Цитата:
А если, например класс имеет др классы: Код:
public class CBall extends СObject |
Достаточно отписАться от него.
|
Достаточно отписАться от него. - не могли бы вы пояснить что значит "отписАться от него."
|
От его событий.
|
Сейчас читаю Мука, немного запутался и у меня вот такой вопрос:
нужно ли перед удалением объекта отписываться от внутренних событий? т.е. если есть внутренний объект stageDetector, в котором регистрируются приемники addedToStageListener и removedFromStageListener, нужно ли отписывать эти приемники перед удалением объекта? Код:
package {Код:
package { |
orcpochta,
мало того что нужно, еще и необходимо удалить stageDetector (если вы не будете его больше использовать) приравняв его к null; об этом можно почитать тут |
Цитата:
|
Код AS3:
|
| Часовой пояс GMT +4, время: 12:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.