您有两个班级:A 级和 B 级。
为了成为实例,B 类需要有一个成员,即 A 类的对象。而且,B 类具有 A 类的所有特性,但不包括允许修改 A 类对象的功能。
B 类也有一些额外的特性,不使用继承的原因是因为如果 A 类的对象(用于实例 B 的对象)被更改,因此 B 类的实例的值也必须是改变了。
我用聚合来表示这种行为,但有些事情我不确定。一种是当 A 类的对象被销毁时,B 类的对象不会被销毁(即使对象 B 不再有意义,访问它的某些特性会引发运行时失败)。
我的意思是 B 类的对象引用 A 类的对象,而不是相反,就像在正常聚合中,通常对象将包含 B 类的对象。
这是否意味着它不是聚合而是组合?即使对象在被引用对象的生命周期结束后没有任何意义?或者这种行为应该如何成为模型?