![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго всем дня.
Делал, делал свою программу. Вдруг возник неожиданный вопрос: нужны ли мне Property или полями обойдёмся. У меня в стороннем юните: Код:
TP= class Enabled:Boolean; end; И я в рабочей проге создаю объект класса TP и обращаюсь к нему: Код:
var ClassObject:TP; ... ClassObject.Enabled:=True; И всё ![]() ![]() Делаем'c разные игры. Искать на glscene.ru |
#2
|
|||
|
|||
![]() А визуальное проектирование? (Смотри в Object Inspector, там есть твой Properties)
P.S. не по русски как то без property получается Блог о программировании Delphi, J2Me и не только |
#3
|
||||
|
||||
![]() Именно так, исключительно для визуального программирования, ведь не всегда свойства класса имеют такой простой тип. А будет у вас скажем свойством TStringList. Как вы его заполнять будете в одной строчке?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
![]() Property нужны реально в нескольких случаях:
1. Когда ты хочешь добавить какую-нить логику при чтении значения или при его записи. Типичный пример - вывешивание свойства Count внутреннего списка наружу. 2. Когда тебе надо написать компонент. Object Inspector понимает только property в секции published. 3. Когда ты отдаешь свой класс в чужое пользование и хочешь скрыть часть внутренней структуры, хотя тут опять же можно обойтись и без них. |
#5
|
||||
|
||||
![]() Цитата:
lmikle правильно сказал - для добавления логики. Например у TLabel есть свойство Caption При его изменении нужно перерисовать контрол. Или при установке нового значения нужно проверить удовлетворяет ли оно какому-то условию. Прийдет время, сам ощутишь острую необходимость. Цитата:
...сказал, и загрустил от бесспорной своей правоты |
#6
|
||||
|
||||
![]() Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() Начиная с версии 5.0 в TurboPascal была поддержка ООП (так называемой теперь "старой модели"). Кстати, она сохранилась и теперь в Дельфи. Тогда класс описывался ключевым словом object. Посмотрите исходники TurboVision - это именно ООП с классами и объектами.
|
#8
|
||||
|
||||
![]() Кстати Published propertys доступны через rtti, это немного важнее чем просто инспектор объектов.
...сказал, и загрустил от бесспорной своей правоты |
#9
|
||||
|
||||
![]() Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
|||
|
|||
![]() O_o тут уже отошли от темы...
![]() Всем спасибо, уяснил что моей проге property пока не нужны. Ещё раз всем спасибо. Делаем'c разные игры. Искать на glscene.ru |