1
在菲羅我想創建一個用於創建一個新的Person對象,並設置一個名字和年齡都在同一個方法,一個類的方法(兩個參數)類的方法,使一個物體從多個參數
Object subclass: #Person
instanceVariableNames: 'name age'
classVariableNames: ''
category: '...'
不過我我無法訪問類方法中的實例變量。
name: n : age: a
"Class method that creates a Person Object and defines its name and age"
| person1 |
person1 := self new.
person1 name := n. "Unable to compile past this point due to red syntax highlighting
person1 age := a.
^person1.
我的目標是能夠調用:
aPerson := Person name: 'Pharo' age: '4'
,並有一個原因:人(類)是一個對象,人新的(實例)是另一個。在smalltalk中,實例變量是私有的,即使你是這個對象自己的類,你也不能直接改變另一個對象的實例變量......你必須通過發送消息來請求它 - 除非內省的基元可以做到這一點...查詢Newspeak如何解決這個問題。 – 2014-12-11 00:16:31