合成关系分为 聚合(aggregation) 关系和组合(composition) 关系, 在大部书中都讲得很抽像模糊。按我理解,这两种合成方式在代码中的表现应如下:
type
TOperate = class(TObject);
TAnyObjects = class(TObject)
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
public
//组合方式的合成关系,CompositionOperate对象的生存期与属主相同。
CompositionOperate: TOperate;
//聚合方式的合成关系,AggregationOperate 对象的生存期与属主不同。
property AggregationOperate: TOperate;
end;
原文链接:https://www.f2er.com/javaschema/288331.html