2013-05-09 115 views
2

使用:Delphi XE2是否可以引用字段父類

一個類有一個字段是另一個類。

是否有可能在字段的過程中引用容器類?

Type TClassA = class 
procedure ClassAMethod; 
end; 

Type TClassB = class 
ClassA : TClassA; 
end; 

procedure TClassA.ClassAMethod; 
begin 
// is it possible to get a reference to the 
// owning ClassB object here? 
end; 

回答

8

不。這兩個對象之間沒有內在聯繫。如果包含的對象需要引用容器,則包含的類需要被賦予對該對象的引用。通過它作爲一個構造函數的參數,例如:

constructor TClassB.Create; 
begin 
    inherited; 
    ClassA := TClassA.Create(Self); 
end; 

如果這些對象從TComponent下降,那麼您可能能夠使用Owner屬性用於此。

相關問題