![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Зачем такое объявление класса?
Iconka © (2004-09-29 17:21:00)Смотрю исходники RxLib, вижу такую строчку в файле RxGrids:
type
TWinControlCracker = class(TWinControl);
Зачем такое?
Iconka (2004-09-29 17:57:00) [21]Все равно к protected полям доступ не получишь....
Sandman25 (2004-09-29 17:57:00) [22]Это не засады ООП, а лень разработчиков приложений, которым неохота писать нормального наследника и устанавливать его в палитру компонент.
debuger (2004-09-29 17:51:00) [23]Путем прямого наследование. Это ж основные засады ООП.
olookin (2004-09-29 17:37:00) [24][3] Iconka © (29.09.04 17:36)
В таком случае я неправ. Хотя мне такое описание встречалось именно в том случае, как показано на примере...
Iconka (2004-09-29 17:36:00) [25]
> это используется для предварительной декларации класса
Дальше в модуле TWinControlCracker не встречается. Это его единственное упоминание.
> чтобы получить доступ к защищенным свойствам
Каким образом?
olookin (2004-09-29 17:33:00) [26]Попробую сказать, хотя я могу сильно ошибиться. Мне кажется, что это используется для предварительной декларации класса, для того, чтобы до описания самого класса использовать переменные этого класса. Замужено? Пример:
type
TWinControlCracker = class(TWinControl);
type
TMyClass = class
public
WCC: TWinControlCracker ;
end;
type
TWinControlCracker = class(TWinControl)
public
private
end;
А теперь к мастерам... Я прав или неправ?
MBo (2004-09-29 17:30:00) [27]чтобы получить доступ к защищенным свойствам