Главная страница
    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.033 c
1-1081772016
ss300
2004-04-12 16:13
2004.05.02
Обработка TEdit


3-1080891121
Yurko
2004-04-02 11:32
2004.05.02
Win98 + ADO + SQLServer = Проблема


3-1080896327
Max_
2004-04-02 12:58
2004.05.02
DBExpress и Отчаяние


1-1081844252
Dimerol
2004-04-13 12:17
2004.05.02
Management памяти.


7-1078578354
Pashka_Cool
2004-03-06 16:05
2004.05.02
Толковый народ! Помогите с выводом на LPT массива данных...





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