最近我被问到设计问题。马和鸟有两个类。我需要设计一个名为Unicorn的新类,它具有Horse和Bird类的所有方法。
Horse Bird
| |
Unicorn
因为在Java中我们不能扩展两个类(以避免钻石问题)我们如何实现这个目标?
请指导。提前谢谢。
答案 0 :(得分:0)
在Java中,类不能扩展多个类,但接口可以扩展多个接口。
在进入类级设计之前,首先创建两个接口Horse和Bird,然后创建将扩展两个接口的Unicorn接口。
答案 1 :(得分:0)
使用Façade模式Composition来实现此目的。您的独角兽类将包含Bird和Horse的实例,并通过在这些包含的实例上调用它们来实现相关方法。