![]() |
|
|
#1
|
|||
|
|||
|
Всем привет.
Мне нужна подсказка в организации классов. Если я имею Tobject1 и в нем должно быть много других объектов. Мне показалось логичным сделать поле TList в нем и создавать другие объекты пусть будет типа TSecondObject. Код:
type TSecondObject=class ... end; Tobject1=class ListObjects:TList; end; Но вот в чем загвоздка, мне необходимо чтобы каждый объект в списке знали все про Объект1. Сделать поле в этих вторичных объектаз с типом Tobject1 компилятор не даст. Унаследовать оба эти типы от еще одного класса. И переместить в него нужные поля из Tobject1? У меня в обще ощущение что это неадекватно делать поля TList в Объекте. Не знаю как загуглить правильную организацию Много объектов внутри другого объекта. |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
||||
|
||||
|
Код:
Tobject1=class ListObjects:TList; end; TSecondObject=class object1: Tobject1; end; а так да, подход, скорее всего, не верный. |
|
#4
|
|||
|
|||
|
Цитата:
Так нельзя делать, я забыл упомянуть что в конструкторе Tobject1 создает объекты те самые и загоняет их в TList. Так он не будет понимать класс TSecondObject. |
|
#5
|
||||
|
||||
|
Цитата:
Код:
TSecondObject=class; Tobject1=class ListObjects:TList; end; TSecondObject=class object1: Tobject1; end; |
|
#6
|
|||
|
|||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Цитата:
TSecondObject=class; - указывает на то, что в данном модуле описан данный класс. Его реализация в данном модуле обязательна, но может быть в любом месте ниже, после реализации и объявления других классов. А дальше уже и так все понятно. |
| Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
Novikov (17.01.2014)
| ||
|
#8
|
||||
|
||||
|
Цитата:
Но в единственном случае компилятор всё-же разрешает в объявлении ссылаться на ещё не объявленный тип - при объявлении указателя на этот тип: Код:
type PMyType = ^TMyType; TMyType = Integer; |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Novikov (17.01.2014)
| ||
|
#9
|
|||
|
|||
|
Благодарю за просвещение, а не подскажите решений на счет
"Объект содержит список объектов" TList нормальное решение? |
|
#10
|
||||
|
||||
|
Цитата:
|