原本 A 和 C 是没有关系的,只不过因为 B 中必有 C,A 中又有 B,A 就产生了与 C 的关系……像这样的逻辑,我是搞不懂为什么一定要把 A 和 B 合并起来,即便 A 和 B 的内容很相似,我依然认为应该分开,因为他们有一个关键属性不同(是否包含 C),而且这个属性的有无将会决定 A 和 C 的关系。
举个例子:
A、B 是两个人,非常类似让人忍不住想把他们合并成一个类:人;但是后来发现其实 B 是 A 的儿子,这个关键属性造成了“人”这个类的抽象度可能有点高,可能应该抽象为“父母”和“子女”两个类;
这时候来了一个 C,本来 A 和 C 没啥关系,但是因为 C 其实是 B 的女儿,于是 C 就成了 A 的孙女……
不知道我理解的是否正确,个人觉得尽管 A 和 B(甚至包括 C)的内容很相似(都是人),但就是因为关系的存在导致不宜做太高层次的抽象。如果一定要合并,那还不如真的做一个更高次抽象,然后继承扩展它们。