当父类失去其含义时,将同级类作为父类是一种好习惯吗?

时间:2018-10-29 23:59:26

标签: oop inheritance refactoring

我有一个父类,例如Parent,还有两个扩展Parent的类,分别表示它们分别是Sibling1Sibling2。随着开发的进行和做出更多更改,我发现拥有Parent并没有多大意义,因为Sibling1Parent完全相同。

我觉得删除Parent并将Sibling1用作Sibling2的超类可以使代码更简洁,但是问题是,制作{{1} }作为Sibling1的父级,因为在代码中它们不应该具有继承关系。

我应该如何平衡局势?假设我必须使Sibling2Sibling1具有一定的相关性,因为它们在现有代码中共享许多逻辑。

1 个答案:

答案 0 :(得分:0)

您应将所有通用逻辑移至Parent并保留Sibling1,即使它将是在Parent之上不添加任何内容的类。如果从域的角度来看,Sibling1不能成为Sibling2的父项。

您应该考虑的一点是,将Sibling1作为Sibling2的父对象并不能使代码更简洁,它仅允许您通过更少的代码。更少的代码并不总是能转化为更好的设计。