1
我想在運行時在squeak中添加一個類方法。 我知道有一個方法編譯,它是在Behavior類中定義的,但是這個方法將我想要的新方法添加到類Instance方法中。有沒有辦法將它編譯到類方法中(所以它將是爲類定義的方法,而不是類的實例)。在運行時在吱吱聲中編譯類方法
感謝,
我想在運行時在squeak中添加一個類方法。 我知道有一個方法編譯,它是在Behavior類中定義的,但是這個方法將我想要的新方法添加到類Instance方法中。有沒有辦法將它編譯到類方法中(所以它將是爲類定義的方法,而不是類的實例)。在運行時在吱吱聲中編譯類方法
感謝,
由於每類本身就是一個對象,一類本身有一個班了。該類是Metaclass
的一個實例,它繼承自Behavior
。因此,對於類方法,您可以在類的類上使用#compile:
,就像在類的實例方法中一樣。
一個簡單的例子:
上Number
實例方法:
Number compile:
'succ
^self + 1
'
類方法上Number class
:
Number class compile:
'one
^self zero + 1
'