Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Вниздеструктор Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c