Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.035 c
3-1080953066
olhovik
2004-04-03 04:44
2004.05.02
База данных


7-1078890606
Mike03
2004-03-10 06:50
2004.05.02
многокнопочная мышь


4-1078680770
Kor@l
2004-03-07 20:32
2004.05.02
Mouse


7-1078519654
uUnknown
2004-03-05 23:47
2004.05.02
Отследить обращение к реестру и его изменение.


1-1081922727
rosl
2004-04-14 10:05
2004.05.02
разноцветный edit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский