Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

деструктор   Найти похожие ветки 

 
9899100   (2008-11-27 14:16) [0]

Подскажите,
я сделал свой класс
например TMyClass=class
               ....
              Destructor Down;
            end;

когда выпадает контекстное меню
у объекта этого класса
то в списке есть деструктор Free
т.е. я так понял что он всегда есть в любом классе
так вот, должен ли я в описании деструктора Down
вызывать деструктор Free? т.е. являеться ли вызов деструктора Free
в данном случае обязательным???


 
Сергей М. ©   (2008-11-27 14:19) [1]

Нет, в данном конкретном случае не является.

Более того, Free - это не деструктор, это метод класса, при выполнении которого вызывается виртуальный деструктор Destroy.


 
9899100   (2008-11-27 14:20) [2]

а в каком случае будет являться необходимым? если делать наследника от Tobject и иже с ними??


 
Kolan ©   (2008-11-27 14:21) [3]

А зачем тебе два деструктора? Это настораживает.


 
Ega23 ©   (2008-11-27 14:23) [4]

1. Free не является деструктором. Это обычная процедура, в которой стоит вызов деструктора Destroy.
2. TObject.Destroy - виртуальный. Соответственно, изначально будет вызов деструктора конечного потомка, а потом уже обратно будет развёрнута вся цепочка так, каким образом inherited вызывается.
3. Ради академического интереса можно деструктор с отличным от Destroy именем создать, и даже заставить это дело работать. Но геморроев на этом можно впоследствии словить - мама не горюй.


 
Сергей М. ©   (2008-11-27 14:23) [5]


> если делать наследника от Tobject и иже с ними?


Да.
Но при условии, что в методе-веструкторе любого из предков твоего класса осуществляются какие-либо действия.


 
Сергей М. ©   (2008-11-27 14:25) [6]


> если делать наследника от Tobject


Класс, объявленный как TMyClass=class, как раз им и является, несмотря на отсутствие явного указания предка.


 
Anatoly Podgoretsky ©   (2008-11-27 15:00) [7]


> а в каком случае будет являться необходимым? если делать
> наследника от Tobject и иже с ними??

Все классы наследуются от Tobject


 
Сергей М. ©   (2008-11-27 15:16) [8]


> 9899100


Да уж ..
Ты уж подумай про Даун-деструктор ..
Обязательность оного пока ничем не оправдана ..



Страницы: 1 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
8-1189093100
chipper
2007-09-06 19:38
2009.01.11
Чтение avi или gif файла


2-1227985085
Надуев Алексей
2008-11-29 21:58
2009.01.11
Как можно осуществить в Delphi запуск программ


2-1227792256
NS1989
2008-11-27 16:24
2009.01.11
Untyped - параметр


1-1205573908
TCrash
2008-03-15 12:38
2009.01.11
DBGrid.EditorMode


15-1226564342
Нов_и_чок
2008-11-13 11:19
2009.01.11
Справочник Win32 для XP