Главная страница
    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.48 MB
Время: 0.04 c
1-1082011855
jenbond
2004-04-15 10:50
2004.05.02
Перехват записи в ini


14-1081409994
SergP
2004-04-08 11:39
2004.05.02
Помогите с PHP.... header();


14-1081396385
valex1
2004-04-08 07:53
2004.05.02
Почтовый форум


1-1082023357
RainKM
2004-04-15 14:02
2004.05.02
Компоненты


1-1081751869
unicode
2004-04-12 10:37
2004.05.02
TMainMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский