我试图确认我对关联、聚合和组合的代码的理解。所以这里。
聚合:有一个。它有另一个类型的现有对象
public class Aggregation
{
SomeUtilityClass objSC
public void doSomething(SomeUtilityClass obj)
{
objSC = obj;
}
}
组成:由另一个对象组成
public class Composition
{
SomeUtilityClass objSC = new SomeUtilityClass();
public void doSomething()
{
objSC.someMethod();
}
}
公会:我对此有两种看法。
当一个类与另一个类关联时。因此,以上两者都是关联的示例。
关联是一种较弱的聚合形式,其中类不保留对其接收的对象的引用。
public class Association { //SomeUtilityClass objSC /*NO local reference maintained */ public void doSomething(SomeUtilityClass obj) { obj.DoSomething(); } }
我的理解正确吗?我在这里和这里读过相互矛盾的文章,所以我真的不确定该看哪一篇。我的理解似乎与第一个链接一致。我觉得第二个链接是错误的,或者也许我没有正确理解它。
你怎么看?