这个问题在接受采访时询问了继承等级。考虑我们有一个很长的继承层次结构。
上面只是一个例子。
答案 0 :(得分:2)
每月付费和每小时付费不应该是课程,而是最好的界面。为了回答你的问题,是的,一个长期的链条"很好。但只要它仍然有意义。
答案 1 :(得分:0)
在这种情况下,我会说"每月付费"和"每小时支付"不应该继承工程师,因为有人支付的频率不是一种人。相反,班级人员应该有一个成员" PayFrequency"。这被称为"组合"而不是"继承"。
这样做的一个原因是您可能还有一位每月支付医生。然后你需要两个课程"每月付费"这显然不会起作用。
问题不是继承链的长度之一。只要你的链条适合你想要建模的数据,你就应该根据自己的需要建立链条。
答案 2 :(得分:0)
问题可能与经典设计模式有关,例如组合和授权。
例如,一个人可以拥有作业。这个人有一个名字;但由于它的工作,它不会成为一个不同类型的人。而是将作业特定的功能委派到作业对象。