Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Properties

Автор: sheka 25.02.2011 1:00

Есть ли такой прикол в ТП (ФП - подсвечивает, значит в нем наверное есть)?

Автор: volvo 25.02.2011 1:34

Properties были реализованы только в Object Pascal, Турбо к нему никакого отношения не имеет.

Автор: -TarasBer- 25.02.2011 2:41

А нафиг они нужны в том виде, в каком были в Дельфи? Передать как var-параметр всё равно нельзя. Да и написать лишний раз SetColor(white) вместо Color:=white; не обломно, к тому же из-за свойств часто теряется суть, из-за того, что они косят под переменные, не являясь ими. Можно легко из них устроить бесконечную рекурсию. Не нужны они, короче.

Автор: volvo 25.02.2011 3:49

В Дельфи свойства необходимы. Очень редко, но кое-где без них все же не обойтись. В частности - при создании компонентов.

Цитата
For classes that descend from TPersistent, a published section declares properties and events that are available at design time. A published member has the same visibility as a public member, but the compiler generates runtime type information for published members. Published properties appear in the Object Inspector at design time.
Только опубликованные свойства, и больше ничего... Ни методы, ни члены класса.

Все остальные случаи спокойно обходятся без свойств... Кстати, в FPC точно так же нельзя передавать свойство как var-параметр, а GPC вообще не знает про свойства (да и про классы тоже заодно, только Объекты)

Автор: -TarasBer- 25.02.2011 3:59

Ну для редактора свойств оно может и надо, тогда видимо решили, что проще всего реализовать через вот этот вот сомнительный сахар. Можно было через набор настроечных полей, который хранится только в исходнике, а компилируется в кучу SetWidth; SetCaption; SetHeight итд.

Автор: sheka 25.02.2011 22:40

Цитата
For classes that descend from TPersistent, a published section declares properties and events that are available at design time. A published member has the same visibility as a public member, but the compiler generates runtime type information for published members. Published properties appear in the Object Inspector at design time.
А я думал, чем же они отличаются. Что-то на большинстве источников о published умалчивается (видимо по той же причине, что в ТП их нет)