Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизProperty Найти похожие ветки
← →
vertal (2004-04-10 01:20) [0]Как вы относитесь к введению в Delphi Property?
Суть в том , что когда в Паскле я пишу
SomeObject.SomeField:=SomeValue;
, то я вижу , что у меня на этой строчке происходит простое копирование SizeOf(SomeObject.SomeField) байт в переменную SomeObject.SomeField , а когда то же самое написано на Delphi ,то происходит может все что угодно , вплоть до краха системы, и мне это не нравится.
← →
Ломброзо © (2004-04-10 01:25) [1]Таки Вы протестуете? Если да - то просто не писайте на Delphi.
← →
DrPass © (2004-04-10 01:26) [2]
> Как вы относитесь к введению в Delphi Property?
Да, это просто мерзость! Как они могли???
> Суть в том , что когда в Паскле я пишу
>
> SomeObject.SomeField:=SomeValue;
>
> , то я вижу , что у меня на этой строчке происходит простое
> копирование SizeOf(SomeObject.SomeField) байт в переменную
> SomeObject.SomeField , а когда то же самое написано на Delphi
> ,то происходит может все что угодно , вплоть до краха системы,
> и мне это не нравится.
Это точно. В Delphi теперь оператор присваивания приводит к краху системы. Про попытку вызова процедуры я уже молчу - в прошлый раз во всем микрорайоне сгорели компьютеры, телевизоры... даже зайчики на батарейках - и те полопались
← →
vertal (2004-04-10 01:41) [3]Крах системы у меня для примера,но мне просто кажется более логичным вызвать какой-то метод(процедуру , функцию) у объекта путем явного написания вызова этого метода :
SomeObject.SetSomeField(SomeValue);
← →
Vuk © (2004-04-10 01:50) [4]to vertal (10.04.04 01:41) [3]:
>но мне просто кажется более логичным вызвать какой-то метод
А какая разница, что приведет к краху системы? :o)
На самом деле введение свойств - это доведенная до логическо конца метафора атрибута объекта. Плюс ко всему синтаксис с оператором присваивания более читабелен, нежели вызов функции.
← →
DrPass © (2004-04-10 01:57) [5]
> SomeObject.SetSomeField(SomeValue);
А кто тебе мешает писать так, если нравится? Перенеси в своих любимых объектах VCL методы доступа свойств в секцию public, и чувствуй себя, как дома (т.е., в Паскале)
← →
vertal (2004-04-10 02:08) [6]>А какая разница, что приведет к краху системы? :o)
>На самом деле введение свойств - это доведенная до логическо
>конца метафора атрибута объекта.
Разница в том , что и в Delphi какое-то поле объекта может не быть объявлено как property , то есть будет работать как в Pascal, и глядя на код , по нему невозможно определить , что происходит в данной строке:простое копирование нескольких байт или все-таки вызов некой функции(процедуры), которая может состоять из скольких угодно любых операторов .
>А кто тебе мешает писать так, если нравится? Перенеси в своих
>любимых объектах VCL методы доступа свойств в секцию public, и
>чувствуй себя, как дома (т.е., в Паскале)
Но я не собираюсь преписывать VCL...
← →
DrPass © (2004-04-10 02:19) [7]
> в Delphi какое-то поле объекта может не быть объявлено как
> property , то есть будет работать как в Pascal,
А может быть объявлено как property, и при этом не вызывать никакой метод доступа... Не понимаю только, что тут может смущать? Если ты знаешь, что свойство TButton.Caption отвечает за подпись на кнопке, то чем тебе запись TButton.Caption:="OK" хуже записи TButton.SetCaption("OK")?
Если уже такие элементарные вещи вызывают неудобство, то что произойдет, если ты столкнешься, скажем, с множественным наследованием?
← →
Германн © (2004-04-10 02:29) [8]По поводу - "гдядя на код". Поля объекта, "не объявленные" как property, принято именовать как F<Name>. Откуда следуют соответствующие правила работы с ними. И "глядя на код", сразу понимаешь что к чему.
← →
vertal (2004-04-10 02:44) [9]> если уже такие элементарные вещи вызывают неудобство, то что <br>>произойдет, если ты столкнешься, скажем, с множественным <br>>наследованием?
Неудобств особых не вызывает , но такая двойственность настораживает.Не всегда же ведь поля объекта, "не объявленные" как property, именуют начиная с "F" .С множественным наследованием , каюсь , не сталкивался , но если будет нужно , то думаю , ничего особенного не произойдет , разберусь.
← →
SPeller © (2004-04-10 03:20) [10]
> Неудобств особых не вызывает , но такая двойственность настораживает.Не
> всегда же ведь поля объекта, "не объявленные" как property,
> именуют начиная с "F"
Ну естественно, что каждый волен писать код как ему вздумается. Только, не зря ведь придумали правила написания кода, различные рекомендации и т.п.
← →
Владислав © (2004-04-10 10:35) [11]> DrPass © (10.04.04 01:26) [2]
LOL :)))
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c