首先,合成/聚合是关联的一个种类。和继承都能达到复用的目的,但是为什么现在推荐用合成/聚合,而不推荐继承呢,
我觉得首先通过继承很容易把父类的内容暴露给子类,也不便于封装。还有就是如果父类修改了某些东西,子类就要跟着动,所谓牵一发而动全身,不便于维护。可能就是称为的白箱服用吧。而合成/聚合是暴露不出所添加对象的细节的称为黑箱。
区分他们重要的是Is-A、Has-A.
我觉得首先通过继承很容易把父类的内容暴露给子类,也不便于封装。还有就是如果父类修改了某些东西,子类就要跟着动,所谓牵一发而动全身,不便于维护。可能就是称为的白箱服用吧。而合成/聚合是暴露不出所添加对象的细节的称为黑箱。
区分他们重要的是Is-A、Has-A.