组合与继承和GUI工具包

时间:2010-06-15 04:26:02

标签: user-interface inheritance

据说组成比继承更受欢迎。然而,每个开源GUI工具包都使用继承来绘制窗口小部件(窗口,标签,框架,按钮等)。我检查了Qt,wxWidgets和GTK +。是否有一个GUI工具包(用任何语言编写)的示例,它使用组合而不是继承来分隔各种小部件?

1 个答案:

答案 0 :(得分:1)

您使用这些GUI工具包时遇到的问题是什么?

我认为,它们来自一个常见的Widget基类,因此它们都暴露了一个最小的接口。因此,您可以编写可以使用任何SpecializedWidgetType的代码。我认为这很好地利用了继承。

Prefer composition to inheritance ..但不要将继承是正确答案的鞋拔组合。规则/指南总是有例外。