Форум: "Потрепаться";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизObject types. В чём смысл удаления? Найти похожие ветки
← →
Skyle © (2004-09-08 10:39) [0]Вот никак не могу понять, зачем и за что Борланд хочет удалить эту конструкцию из языка? И в D5, и в D7 написано одно и то же, а именно Object types are supported for backward compatibility only. Their use is not recommended..
Мне интересно, есть ли причины для "use is not recommended" кроме того, что конструкция будет удалена?
И хочется понять, почему её удаляют.
← →
TUser © (2004-09-08 10:51) [1]Есть понятие class. Просто в TP (и кажется, в ранних версиях Delphi) была путаница с понятиями "объект" и "класс". Теперь все правильно и понятно, класс - это тип данных, объект - экземпляр конкретного класса (то, что создается конструктором).
← →
PVOzerski © (2004-09-08 10:57) [2]Если я понял правильно, речь идет о object в стиле BP. Они не поддерживают RTTI, не даопускают виртуальных конструкторов, не имеют предопределенный базовый тип с предопределенными конструктором, деструктором, набором методов и свойств, подобный tObject для классов. Видимо, не "стыкуются" с классами CPPBuilder"а в "сборных" проектах. Вроде бы, резон есть. Но вот парадокс: с этими объектами борландовский оптимизатор справляется лучше, чем с классами. А именно, может выбрасывать полностью перекрытые виртуальные методы предков. А у классов не может. Я, конечно, не В.Кладов, но сдается мне, именно поэтому, например, KOL написан на "устаревшей" основе. Так что, IMHO, напрасно считать объекты устаревшими.
← →
Skyle © (2004-09-08 11:03) [3]
> Если я понял правильно,
Правильно, именно о них речь.
> Так что, IMHO, напрасно считать объекты устаревшими.
Именно поэтому меня и удивляет это упоминание в справке.
Закралось даже подозрение, что они не вписываются в какую-либо идеологию, но вот конкретно указать в какую именно, я не готов.
← →
Акуличев Дмитрий (2004-09-08 11:16) [4]
> Мне интересно, есть ли причины для "use is not recommended"
> кроме того, что конструкция будет удалена?
Есть. Например, конструкция неудобна.
← →
Skyle © (2004-09-08 11:17) [5]
> Например, конструкция неудобна.
Кому неудобна?
Чем неудобна?
← →
Акуличев Дмитрий (2004-09-08 11:38) [6]
> Кому неудобна?
Могу прислать список из 83 фамилий.
> Чем неудобна?
Всем. (см [2])
← →
euru © (2004-09-08 12:30) [7]PVOzerski © (08.09.04 10:57) [2]
Они не поддерживают RTTI, не даопускают виртуальных конструкторов, не имеют предопределенный базовый тип с предопределенными конструктором, деструктором, набором методов и свойств, подобный tObject для классов.
А всегда ли это нужно?
Насколько я знаю, в 8-й версии расширили функциональность типа record, и он стал аналогичен (возможно, не полностью) типу object.
Отсюда два вывода (промежуточные рассуждения опущены):
1. тип object не так уж и плох;
2. его можно использовать в версиях D1-D7 (не знаю, поддерживается ли он в D8, но при необходимости там можно будет переименовать object на record).
← →
PVOzerski © (2004-09-08 14:40) [8]2euru © (08.09.04 12:30) [7]:
Насколько я знаю, record в D8 может иметь только статические методы, и для него не существует наследования.
← →
euru © (2004-09-08 14:51) [9]Жаль.
А чем вызваны такие ограничения?
Тип object в D8 остался?
← →
jack128 © (2004-09-08 15:56) [10]euru © (08.09.04 14:51) [9]
Жаль.
А чем вызваны такие ограничения?
а смысл? В NET автоматическая сборка мусора, а это убивает основное преимущество объектов перед классами..
← →
euru © (2004-09-08 16:05) [11]А какая связь между автоматической сборкой мусора и наследованием и виртуальными методами?
Если используется сборка мусора, то нужно ли вызывать метод Free(), после того как объект станет ненужным?
← →
jack128 © (2004-09-08 16:10) [12]euru © (08.09.04 16:05) [11]
А какая связь между автоматической сборкой мусора и наследованием и виртуальными методами?
если те нужны наследование и виртуальные методы используй классы.
Основное приемущество, ИМХО, объектов перед классами - это размещение в стеке. Точнее даже не важно в стеке, в дин памяти - важно то что мне не нужно следить за временем жизни объекта..В приходом NET это приемущество объектов теряется..
> Если используется сборка мусора, то нужно ли вызывать
> метод Free(), после того как объект станет ненужным?
необязательно..
← →
iZEN © (2004-09-09 08:45) [13]Трындец.
Borland изгаляется над ObjectPascal как хочет, а вы терпите, терпите, терпите...потом бросаете всё нафик и уходите к другому.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c