0

最近有人问我设计问题。有马和鸟两大类。我需要设计一个名为 Unicorn 的新类,它具有 Horse 和 Bird 类的所有方法。

Horse          Bird
     |         |
       Unicorn

由于在 Java 中我们不能扩展两个类(以避免钻石问题),我们如何实现这一点?

请指导。提前致谢。

4

2 回答 2

0

Java中一个类不能扩展多个类,但是一个接口可以扩展多个接口。

在进入类级设计之前,首先创建两个接口 Horse 和 Bird,然后创建接口 Unicorn,它将扩展这两个接口。

于 2013-05-04T10:23:38.180 回答
0

使用外观模式组合来实现这一点。您的 unicorn 类将包含 Bird 和 Horse 的实例,并通过在这些包含的实例上调用它们来实现相关方法。

于 2013-05-04T10:29:10.147 回答