因此,我试图确定/记住必须使用哪种类型的界面/抽象才能使此布局执行我想要的操作。我有两种类型的对象:
小部件和ComboWidget。我希望这两个都可以在其他类中实现。顾名思义,ComboWidget是一个基类,它将由多个Widget对象组成。我还希望具有一些样板功能,例如addWidget(),removeWidget(),listWigets()等,这些功能将应用于实现ComboWidget的所有项目。
窗口小部件本身将与将由窗口小部件的特定实例(按钮窗口小部件,填充栏窗口小部件等)实现的功能相同。
我希望能够有一个面板或表格,用户可以添加任何小部件或组合小部件。因此,对于上述面板,我想将Widget或ComboWidget统称为Widget类,除了实现这些对象的任何其他对象外,它还将允许或。最好的方法是什么?
解释此问题的最佳方法是绘制图形:
Widget
|_ ComboWidget
|_ TableComboWidget
|_ BoomHeightComboWidget
|_ ButtonWidget
|_ FillBarWiget
|_ TextWidget
我希望能够创建一个表示addWidget(Widget)的函数,并且以上任何内容都可以作为参数放置。 (Widget和ComboWidget本身除外,因为它们很可能是界面/抽象)
答案 0 :(得分:1)
您刚才描述的内容很像Composite Pattern
我看不到您的课程布局有什么问题。 您的addWigget方法应该可以像您描述的那样工作。
答案 1 :(得分:1)
研究Java AWT class hierarchy。它具有您要寻找的结构-shared_preload_libraries = 'pipelinedb,pipeline_kafka'
pipeline_kafka.broker_version = '1.0.0'
pipeline_kafka.consumer_config = 'security.protocol=SASL_PLAINTEXT,sasl.mechanisms=PLAIN,sasl.username=USER,sasl.password=PASSWORD'
类充当每个AWT组件的基类,而Component
相当于您的Container
。