我有两个类ModalWinodw和SkinnableWindow都扩展了Window类。我想创建具有两个类的函数的类,但是在Java类中可以只扩展一个超类。那么如何解决这个问题呢?扩展两个类
Q
扩展两个类
0
A
回答
2
Composition(至少有一个,可能两个“基”类都是成员对象)。根据需要还有很多代理(有些编辑会在这里帮助你)。
Yahoo Java OO!
编辑:尽管组合是“要走的路”(在不重新设计类层次结构的情况下),但取决于如何使用接口和主格名称,它有一些特定的限制。如果你需要将“特定”类型(ModalWindow或SkinnableWindow)传递到任何地方,那么你几乎处于一个受到伤害的世界,因为你的新类最多只能有一个作为祖先(如果它是一个或更少,你可能能够滑过)。尽可能使用接口并尽可能使用类似的可以减少这种伤害。
快乐编码。
1
您可以使用组合。让你的班级有一个(或两个)字段并将他们的方法公开为传递方法。
3
这就是那句“Composition在传承”,其实适合的情况下...
我会创建一个合并,我想既适合类的功能的接口。
然后我会创建一个实现我的新界面的类。该类将包含ModalWindow和SkinnableWindow的一个实例。根据所调用的功能,我的类只需将方法调用传递给适当的类,并在需要时利用每个类的功能。
相关问题
- 1. 如何扩展两个类
- 2. Java的抽象类扩展两个类
- 3. 扩展一个扩展类的模块
- 4. 扩展单个类
- 5. 一个类是否可以扩展两个或更多类
- 6. php oop如何连接两个类(从一个父类扩展)
- 7. Java中的每个类扩展Object.Then如何扩展其他类。因为一个类只能扩展一个类
- 8. 扩展扩展类型
- 9. 扩展扩展类Zend_Db_Table_Row_Abstract
- 10. 如何使用另外两个类来扩展类?
- 11. 是否有可能扩展一个库类扩展MY_Controller类
- 12. 如何扩展2个类?
- 13. 如何扩展这个类?
- 14. 动态扩展一个类
- 15. 参数扩展一个类
- 16. 用多个类扩展一个类
- 17. 单个java类可以用作两个不同的扩展吗?
- 18. 两个扩展类 - 一个工程和其他没有
- 19. php扩展类
- 20. php类扩展
- 21. 扩展CSS类
- 22. Javascript扩展类
- 23. 扩展PHP类
- 24. 扩展Java类
- 25. C++类扩展
- 26. PHP扩展类
- 27. 扩展Java类
- 28. 扩展ActiveResource类
- 29. 类和扩展
- 30. IBActions类扩展
这是接口有时比类更好的一个例子。 – 2010-11-03 17:50:15
这也是为什么我不喜欢Java“OO”的一个例子:-) – 2010-11-03 19:14:37