Re: Переопределение методов доступа свойства в Delphi
От: mikkri Великобритания  
Дата: 26.05.03 13:35
Оценка: +2
Здравствуйте, olafpalmer,

Если методы чтения и записи этого свойства виртуальные, то ты просто их переопределяешь в своем наследнике.

Иначе тебе остается только перезадать свойство в своем классе. Но тогда, если человек получит доступ к твоему объекту и преведет его к родительскому классу, он получит не твое новое ствойство, а старое свойство со старыми методами чтения/записи.
Re: Переопределение методов доступа свойства в Delphi
От: malkolinge Украина  
Дата: 26.05.03 13:49
Оценка: -1
Здравствуйте, olafpalmer, Вы писали:

O>И вообще возможно ли это в связи с объектной моделью Delphi?


Можно..Лишь бы они не были приватными...Хотя если они и приватные — то можно перекрыть свойство
Re: Переопределение методов доступа свойства в Delphi
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.05.03 16:14
Оценка: +1
Здравствуйте, olafpalmer, Вы писали:
Вообще-то как правило в VCL для любого класса с published свойствами есть его "тень", т.е. класс-предок, содержащий слово custom и отличающийся исключительно видимостью этих свойств.
Кроме того, в большинстве случаев те свойства, которые имеет смысл перегружать в потомках, оборудованы виртуальными аксессорами.
Так что предлагаю привести конкретную проблему — что за класс, что за свойство.
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Переопределение методов доступа свойства в Delphi
От: olafpalmer Россия  
Дата: 26.05.03 13:30
Оценка:
Здравствуйте, глубоко уважаемый All.
Случилось мне написать компонент, унаслдеованный от комопнента из VCL.
И столкнулся я ч одной проблемкой, как решить не знаю:
В новом клссе нужно мне, чтобы методы чтения и записи свойства, которое было уже определено в старшем классе,
действовали в новом классе по иному. А как бы это сделать?
Иллюстрирую проблему:
Иерархия классов:
A
|
B
|
С (мой класс)

Свойство P1 объявлено в классе A:

...
private
...
procedure SetFP1
...
protected 
...
property P1:string read FP1 write SetFP1 
...


Свойство P1 в классе B перемещено в published


...
published 
...
property P1


В моем классе С хочу задать для этого свойства метод чтения и изменить метод записи.
Но как?
И вообще возможно ли это в связи с объектной моделью Delphi?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.