Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近有人问我设计问题。有马和鸟两大类。我需要设计一个名为 Unicorn 的新类,它具有 Horse 和 Bird 类的所有方法。
Horse Bird | | Unicorn
由于在 Java 中我们不能扩展两个类(以避免钻石问题),我们如何实现这一点?
请指导。提前致谢。
Java中一个类不能扩展多个类,但是一个接口可以扩展多个接口。
在进入类级设计之前,首先创建两个接口 Horse 和 Bird,然后创建接口 Unicorn,它将扩展这两个接口。
使用外观模式组合来实现这一点。您的 unicorn 类将包含 Bird 和 Horse 的实例,并通过在这些包含的实例上调用它们来实现相关方法。