2010-06-15 75 views
2

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

回答

1

这些GUI工具包面临的问题是什么?

我认为,它们来自一个常见的Widget基类,以便它们都暴露最小接口。所以你可以编写可以用于任何SpecializedWidgetType的代码。我认为这是一个很好的继承..

Prefer composition to inheritance ..但不要shoehorn组成,其中继承是正确的答案。规则/准则总是有例外。

+0

没问题。我只是好奇,如果有一个例子。我想没有,你的回答是有道理的。 – 2010-06-17 00:49:11