有没有一种方法可以告诉何时在代码中使用合成以及何时使用继承。
示例:假设我们有4个类,分别为Computer
,MotherBoard
,Monitor
,Keyboard
。我可以使computer
从其他三个类继承,也可以在MotherBoard
的字段中声明Monitor
,Keyboard
,computer
,因此第二个案例使用组成。哪种方法更好?大多数开发人员首选哪种方式?
答案 0 :(得分:1)
在following情况下,我更喜欢继承:
否则,该组合物是合适的。
请注意,在这种情况下,计算机是由列出的组件组成的。作为捷径,我有时会问自己以下问题:
Computer
有一个Mouse
吗?如果是这样,则使用合成。请注意,计算机上没有鼠标。MacBook
是Computer
吗?如果是这样,则使用继承。 ...但是通常首选哪种方式
通常,应根据情况做出决定:)