![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 для другого.