Свойства readonly | |
---|---|
Syberex Автор Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
Не врубаюсь как сделать в классе свойства только для чтения.
Protected и Hidden не дают доступа из вне, а больше ничего и нет? ------------------ |
Re: Свойства readonly | |
---|---|
Владимир Максимов Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Довесь к свойству событие ASSIGN в котором закомментируй команду присвоения. Т.е. там должна остаться только строчка с параметром. По сути - это и будет означать Read-Only т.к. значение проперти просто невозможно будет изменить.
Другой вариант - это сделать это свойствоименно Hidden, а для доступа из вне создать специальный метод вроде GetProp() Который и будет возвращать значение проперти. А для модификации проперти, также специальный метод вроде SetProp() Такой подход (через метод) считается более правильным с точки зрения ООП: прямого доступ к проперти класса из вне в принципе не должно быть. ------------------ |
Re: Свойства readonly | |
---|---|
Syberex Автор Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
Как раз и сделал методы Setprop() и в дополнение эти свойства сделаю А как насчет версий выше 6, ситуация не изменилась? ------------------ |
Re: Свойства readonly | |
---|---|
Владимир Максимов Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Цитата:Нет. Лично я не вижу в этом особого смысла. Т.е. ты сам создаешь свойство и сам же себе запрещаешь его изменять!? "Тихо сам с собою я веду беседу" ------------------ |
Re: Свойства readonly | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Syberex!
Только потом не жалуйся, что ты вообще нигде кроме как в описании класса не сможешь поменять значение этого свойства! Это ДОСЛОВНО "ReadOnly свойство". ------------------ WBR, Igor |
Re: Свойства readonly | |
---|---|
Syberex Автор Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
долго думал...
В итоге не подходят такие ридонли-свойства ------------------ |
Re: Свойства readonly | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Syberex!
Хе-хе Ты сказал бы сразу ЧТО нужно, а не КАК оно тебе нужно Заизолировать собственно свойство от изменения "извне", но разрешив изменять "изнутри" очень просто - раздели его на 2 свойства - на "видимое" навесь _Access метод, возвращающий "невидимое", ну и можно Assign метод генерирующий ошибку, а собственно с "невидимым" и работай изнутри класса. IMHO всё это легко и просто реализуется ------------------ WBR, Igor |
Re: Свойства readonly | |
---|---|
Syberex Автор Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
Значения, которые устанавливаются в win32api функциях,
сохраняются в свойствах. Ну а на изменения свойств не происходит ничего. Просто несоответсвие оставить нормально? Класс для работы с принтером, выложу в решения , уже почти готово... ------------------ |
Re: Свойства readonly | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Syberex!
Я же тебе прошлый раз полностью показал как заизолировать "внутренние свойства" и "внешний интерфейс" - никакого несоответствия, всё очень логично, стройно и красиво ------------------ WBR, Igor |
© 2000-2024 Fox Club  |