【发布时间】:2021-06-25 19:18:49
【问题描述】:
这是去年没有答案的考试之一:
[1]:https://i.stack.imgur.com/RDzz0.jpg
它显示了一个包含两个类的图表,Customer 和 Supplier,它们都继承自一个类 Partner。另一个类 Customer_Supplier 继承自 Customer 和 Supplier。
问题是这种设计会违反什么 SOLID 原则。尽管进行了仔细的验证,但我找不到任何东西,并且真的很想知道。
【问题讨论】:
-
我会怀疑 Liskov 因为这个设计中的多态性。实际上,我从不关心“原则”,尤其是对于考试成绩而言。我永远不会使用多重继承,因为它很臭。
-
我投票重新提出这个问题,这确实很有趣。只有一个可能的答案(而且它不是 LSP),并且有完全客观的论据来确定哪个。
-
@qwerty_so Is multiple inheritance really needed? 如果你不这么认为,here a diagram 没有 MI 与 OP 具有相同的问题和相同的答案 ;-)
-
或者如果 OP 正在倾听:您可以删除此问题并再次询问(我通常不建议这样做)。但这样一来,您可能会找到比关闭速度更快的人来回答。
-
不知道为什么这也是出于“基于意见”的原因而关闭的。这不是每个人都用接口解决的钻石问题吗? @Christophe 我同意你的看法。
标签: oop uml class-diagram solid-principles