[英]Java Class/Inheritance Structuring
因此,我试图确定/记住必须使用哪种类型的界面/抽象才能使此布局执行我想要的操作。 我有两种类型的对象:
Widget和ComboWidget。 我希望这两个都可以在其他类中实现。 顾名思义,ComboWidget是一个基类,它将由多个Widget对象组成。 我还希望具有一些样板功能,例如addWidget(),removeWidget(),listWigets()等,这些功能将应用于实现ComboWidget的所有项目。
小部件本身的作用与通过特定小部件实例(按钮小部件,填充栏小部件等)实现的功能相同。
我希望能够有一个面板或表格,用户可以添加任何小部件或组合小部件。 因此,对于上述面板,我想将Widget或ComboWidget统称为Widget类,除了实现这些对象的任何其他对象外,它还将允许或。 做到这一点的最佳方法是什么?
解释这种情况的最佳方法是绘制各种图形:
Widget
|_ ComboWidget
|_ TableComboWidget
|_ BoomHeightComboWidget
|_ ButtonWidget
|_ FillBarWiget
|_ TextWidget
我希望能够制作一个说addWidget(Widget)的函数,并且以上任何内容都可以作为参数放置。 (Widget和ComboWidget本身除外,因为它们很可能是界面/抽象)
您刚才描述的内容很像一个复合模式
而且我认为您的课程布局没有任何问题。 您的addWigget方法应该像您描述的那样工作。
研究Java AWT类的层次结构 。 它有您正在寻找的结构- Component
类作为基类中的每个AWT组件,而Container
是你相当于ComboWidget
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.