您可以在 Smalltalk 中扩展 Button class 和其他 GUI 元素吗?

Can you extend the Button class and other GUI elements in Smalltalk?

我看过很多次关于架构的书,引用了Smalltalk语言的例子。我不了解 Smalltalk gui(按钮、文本字段)。在 Smalltalk 中,你能扩展 Button class 和其他 gui 吗?

大多数(所有?)Smalltalk 方言都允许您直接访问环境本身的源代码,这意味着您可以随意更改、破坏和扩展它,只要您认为合适。这适用于大多数事情……GUI、集合、语言解析器、交换 truefalse 的值,等等。

这给了你巨大的力量,但当然,如果你要改变核心组件(例如语言解析器),你必须格外小心——它是一个实时系统,对系统的任何改变通常都会立即发生。