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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
11-1066374154
Ал
2003-10-17 11:02
2004.05.02
KOLTrayIcon не может корректно отобразить 256-цветную ico в tray


14-1081681121
uw
2004-04-11 14:58
2004.05.02
«Страсти Христовы»


3-1081421582
Zapekank0
2004-04-08 14:53
2004.05.02
Подключение к MySQL в Delphi


1-1081937636
antoniz
2004-04-14 14:13
2004.05.02
Как сделать полупрозрачный фон (заливку)


6-1078586408
Scorp2
2004-03-06 18:20
2004.05.02
E-MAIL Password help