Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по ООП [D7, XP]


Страницы:   1 2

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]

бр-р-р. сам-то понял, что спросил?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо