Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

property & var


Гость_ ©   (2007-01-21 21:39:00) 

Объясните мне пжста про такое дело как property в классе:
если пишестя в описании класса:
...
x : double;
...
property xxx : double read F_x write F_x;
- Для чего используется такая конструкция понять не могу???
я бы понял если на месте F_x были бы Get_x и Set_x (проперть на работу с переменной бесмысленна?( то есть нельзя ли выкинуть строчку с пропертью и оставить только переменную? (ну вдруг какой-то скрытый смысл есть :) )))
И ещё вопрос: если пишется: F_x:=111; то и xxx = 111??? или нужно написать именно xxx:=111???


Anatoly Podgoretsky   (2007-01-21 23:22:00) [1]

> Kolan  (21.01.2007 23:20:12)  [12]

Это только в последних версиях


Kolan   (2007-01-21 23:20:00) [2]

«а внутри модуля можно обращаться куда угодно и в другие
классы.»

А strict private ?


Anatoly Podgoretsky   (2007-01-21 22:14:00) [3]

> Гость_  (21.01.2007 22:05:10)  [10]

Зависит от ситуации. Часто это одно и тоже, но не всегда.


Гость_   (2007-01-21 22:05:00) [4]

>В зависимости где будешь писать и что желаешь получить.
в методе класса, а получить хочу xxx = 111, но можно ли или может даже нужно писать  F_x:=111;???


Anatoly Podgoretsky   (2007-01-21 21:56:00) [5]

> Гость_  (21.01.2007 21:53:08)  [8]

В зависимости где будешь писать и что желаешь получить.


Гость_   (2007-01-21 21:53:00) [6]

так вседаки: Если пишется: F_x:=111; то и xxx = 111??? или нужно написать именно xxx:=111


Anatoly Podgoretsky   (2007-01-21 21:51:00) [7]

> Гость_  (21.01.2007 21:49:05)  [5]

Метод КЛАССА это часть класса, а внутри модуля можно обращаться куда угодно и в другие классы.


Anatoly Podgoretsky   (2007-01-21 21:50:00) [8]

> Palladin  (21.01.2007 21:49:04)  [4]

Первый вариант с этим тоже справляется.


Palladin   (2007-01-21 21:49:00) [9]

например для ограничения доступа к значению на запись


Гость_   (2007-01-21 21:49:00) [10]

>Дает скрытие, ты не сможешь напрямую обратиться к полю.
Не могу напрямую обратиться к F_x откуда угодно? или могу например из метода класса?
Если пишется: F_x:=111; то и xxx = 111??? или нужно написать именно xxx:=111 (или зависит от того откуда ты обращаешься?)


Anatoly Podgoretsky   (2007-01-21 21:45:00) [11]

> Гость_  (21.01.2007 21:43:02)  [2]

Дает скрытие, ты не сможешь напрямую обратиться к полю.
А Get/Set позволяют сделать контролируемый доступ при это сохраняя внешне обращение как к переменной.


Гость_   (2007-01-21 21:43:00) [12]

И что даёт это сокрытие прямого доступа? и на последний вопрос пожалуйств ответте


Anatoly Podgoretsky   (2007-01-21 21:41:00) [13]

Для того что бы скрыть прямой доступ до F_x, a Get/Set для другого.


Наверх

Титульная страница Поиск, карта сайта Написать письмо