类其间使用组合是否会增加程序的耦合度

类之间使用组合是否会增加程序的耦合度
如题,最近看一些资料,说大多情况最好类之间使用组合而不是继承,那么在一个类中定义另一个类的对象,这样不是大大的增加了两个类的耦合度么。
------解决思路----------------------
引用:
如题,最近看一些资料,说大多情况最好类之间使用组合而不是继承,那么在一个类中定义另一个类的对象,这样不是大大的增加了两个类的耦合度么。


并不是所有耦合都是不好的,例如继承,继承属于强耦合,但它是表达对象层次结构的重要手段,是一种有组织的有益的耦合,组合也属于这种有益的耦合。我们要避免的是偶然性耦合,这是一种无组织耦合,会大大增加系统的复杂性,需要尽量降低。
------解决思路----------------------
“在一个类中定义另一个类的对象,这样不是大大的增加了两个类的耦合度么。”

首先,只有一个类A耦合另一个类B;比起C继承D的相互耦合关系,耦合度大大降低了;
其次,在类A中定义另一个类族B的基类/接口指针,仅仅是耦合接口,耦合度非常低;
第三,组合和聚合在代码上没啥差别(?)
最后,OOP的很多原则都只是原则,不可能完全按照原则办事儿
------解决思路----------------------
该用哪个就用哪个。说那句话的人不知道怎么想的,估计是继承的耦合度高所以乱说。本来适合继承的对象就要求有继承性,继承性如果让组合去做岂不是变复杂了,能用组合的却用继承也使事情变复杂了