因此,我试图确定/记住必须使用哪种类型的界面/抽象才能使此布局执行我想要的操作。我有两种类型的对象:

Widget和ComboWidget。我希望这两个都可以在其他类中实现。顾名思义,ComboWidget是一个基类,它将由多个Widget对象组成。我还希望具有一些样板功能,例如addWidget(),removeWidget(),listWigets()等,这些功能将应用于实现ComboWidget的所有项目。

小部件本身的作用与通过特定小部件实例(按钮小部件,填充栏小部件等)实现的功能相同。

我希望能够有一个面板或表格,用户可以添加任何小部件或组合小部件。因此,对于上述面板,我想将Widget或ComboWidget统称为Widget类,除了实现这些对象的任何其他对象外,它还将允许或。做到这一点的最佳方法是什么?

解释这种情况的最佳方法是绘制各种图形:

Widget
     |_ ComboWidget
                  |_ TableComboWidget
                  |_ BoomHeightComboWidget
     |_ ButtonWidget
     |_ FillBarWiget
     |_ TextWidget


我希望能够创建一个说addWidget(Widget)的函数,并且以上任何内容都可以作为参数放置。 (Widget和ComboWidget本身除外,因为它们很可能是界面/抽象)

最佳答案

您刚才描述的内容很像Composite Pattern

而且我认为您的课程布局没有任何问题。
您的addWigget方法应该像您描述的那样工作。

08-17 10:58