如何识别代码中的组合和聚合?特别是在为现有代码绘制类图时?
我知道组合是一种“HAS-A”关系,而聚合是一种“一部分”关系。而且我知道在组合子类实例中会被类破坏,而在聚合中则不会。
以下是 C++/CLI 代码
警报.h
ref class Alarm
{
public:
Notification ^n;
Alarm();
};
报警器.cpp
Alarm::Alarm()
{
n = gcnew Notification ();
}
据我所知, and 之间的联系Alarm
是Notification
Composition,因为没有Alarm
,就没有Notification
。我对么?如果我是正确的,我怎样才能使这段代码在两个类之间具有聚合关系?请问那里有代码示例吗?
请帮忙。