![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по ООП [D7, XP]
EG © (2006-10-10 21:45:00)Здравствуйте, не могли бы Вы мне ответить на такой вопрос:
есть что-то вроде
type
TClass1 = class (Tobject)
first: string;
A: THHHHObject;
end;
Некоторая функция в некотором месте программы возвращает А.
Вопрос: как, зная А, получить доступ к другим полям экземпляра класса TClass1?
Прим.: A.parent возвращяет не экземпляр класса TClass1, а другой объект.
Заранее благодарен за помощь.
EG (2006-10-10 22:12:00) [21]
> Каким интересно THHHHObject, написанным разработчиками Delphi,
> ты визуализируешь свой класс.
Да любым. THHHHObject - для неконкретности взято.
Zeqfreed (2006-10-10 22:09:00) [22]Каким интересно THHHHObject, написанным разработчиками Delphi, ты визуализируешь свой класс.
Kolan (2006-10-10 22:04:00) [23]
> класс переписывать? THHHHObject
Вообщето есть наследование и др механизмы...
Leonid Troyanovsky (2006-10-10 22:03:00) [24]
> EG (10.10.06 21:58) [6]
> К примеру: У THHHHObject возникает какое-либо событие, в
> случае которого должны измениться поля экземпляра Tclass1.
> Как-то обойти парадигму невозможности можно?
Пуркуа па?
В обработчике события изменяем поля Tclass1.
Вот, собс-но, и все.
--
Regards, LVT.
Kolan (2006-10-10 22:03:00) [25]
> Дело в том, что я использую THHHHObject для визуализации
> экземпляра класса Tclass1, поскольку сам он типа абстрактный,
> невизуальный.
Архитектура не верная. Если THHHHObject(дурацкое название) визуализирует экзепрляр Tclass1, то он делжен знать о Tclass1, а Tclass1 о нем знать не должен.
Те в THHHHObject должен быть метод(вариантоа много, это 1 из них) тапа такого:
THHHHObject.VisualiseClass1(A: Tclass1);
Джо (2006-10-10 22:02:00) [26]> [6] EG (10.10.06 21:58)
> Этого я и боялся.
> Дело в том, что я использую THHHHObject для визуализации
> экземпляра класса Tclass1, поскольку сам он типа абстрактный,
> невизуальный.
>
> Как быть,если соприкосновение с миром программыэкземпляра
> Tclass1 идет через его поле THHHHObject.
>
> К примеру: У THHHHObject возникает какое-либо событие, в
> случае которого должны измениться поля экземпляра Tclass1.
> Как-то обойти парадигму невозможностиможно?
Можно еще проще? Без неверного употребления незнакомых терминов?
EG (2006-10-10 22:01:00) [27]
> Для этого в объекте Х должно быть заведено поле или свойство,
> содержащее ссылку на объект Y.
Как? класс переписывать? THHHHObject - не я писал, а разработчики дельфи
EG (2006-10-10 21:58:00) [28]Этого я и боялся.
Дело в том, что я использую THHHHObject для визуализации экземпляра класса Tclass1, поскольку сам он типа абстрактный, невизуальный.
Как быть, если соприкосновение с миром программы экземпляра Tclass1 идет через его поле THHHHObject.
К примеру: У THHHHObject возникает какое-либо событие, в случае которого должны измениться поля экземпляра Tclass1. Как-то обойти парадигму невозможности можно?
Джо (2006-10-10 21:56:00) [29]> [4] EG (10.10.06 21:52)
> Если у объекта Y полем является объект X, можно ли, зная
> X, получить доступ ко всем остальням полям, методам, свойствам
> Y?
Для этого в объекте Х должно быть заведено поле или свойство, содержащее ссылку на объект Y.
EG (2006-10-10 21:52:00) [30]Если у объекта Y полем является объект X, можно ли, зная X, получить доступ ко всем остальням полям, методам, свойствам Y?
Kolan (2006-10-10 21:52:00) [31]
> А, получить доступ к другим полям экземпляра класса TClass1?
Никак.
ЭкземплярTHHHHObject- А просто поле классаTClass1. Те жто композиция.
При такой структуре экземплярTHHHHObjectничего знать не может оTClass1. Его просто используют.
> Прим.: A.parent возвращяет не экземпляр класса TClass1,
> а другой объект.
Это я не понял..
Leonid Troyanovsky (2006-10-10 21:50:00) [32]
> EG (10.10.06 21:45)
> Вопрос: как, зная А, получить доступ к другим полям экземпляра
> класса TClass1?
Никак.
--
Regards, LVT.
Ketmar (2006-10-10 21:48:00) [33]бр-р-р. сам-то понял, что спросил?