如何在smalltalk pharo中实现getter

如何在smalltalk pharo中实现getter,smalltalk,pharo,Smalltalk,Pharo,我的二传手和接球手都是这样的: Object subclass: #Person instanceVariableName: 'name document' classVariableName ' ' package: 'foo' name ^name name: anObject name:= anObject document ^document document: anObject document:= anObject p1.getName().equals("Alice");

我的二传手和接球手都是这样的:

Object subclass: #Person
instanceVariableName: 'name document'
classVariableName ' '
package: 'foo'

name
^name

name: anObject
name:= anObject

document
^document

document: anObject
document:= anObject
p1.getName().equals("Alice");
然后,我在TestPerson中实例化我的类

所以在这里,我不明白如何实现我的getter来比较我的名字是否真的是Alice。 例如,在Java中,它将如下所示:

Object subclass: #Person
instanceVariableName: 'name document'
classVariableName ' '
package: 'foo'

name
^name

name: anObject
name:= anObject

document
^document

document: anObject
document:= anObject
p1.getName().equals("Alice");
你真的需要读一本关于Smalltalk的书,你缺少基本知识,通过堆栈溢出学习似乎不是最好的方法

有一个MOOC:。 这里有很多免费书籍: 这里有一些免费的一般书籍:
在这里你可以找到更多的一般性文档:你可以在那里观看一些介绍性的屏幕广播。

我想解释为什么Esteban的建议很重要,为什么它在Smalltalk中特别好

许多其他语言使用每一位经验丰富的程序员都已经知道的非常基本的编程概念,但这些概念淹没在特殊语法、边缘情况、异常、多层往往不一致或不相关的详细任意语言设计规则的海洋中。因此,当你学习这些语言时,挑战往往是我如何做X,一个你已经知道的用Y语言表达的简单概念

这使得我可以公平地问我如何用语言Y做X,就像你刚才做的那样。 这也使得使用有关该语言的书籍或文档变得困难,因为他们可能会再次尝试教你X,但你已经知道X,你只想知道如何用Y来做!,或者,它们将是一个长长的特殊提示和技巧列表,揭示Y语言的所有特殊情况和特质,它们实际上可能没有涵盖你的特定问题,或者如果它们涵盖了,你将很难在材料中找到它

Smalltalk是不同的。因为Smalltalk是在非常小、简单且一致的概念和语法设计上正交构建的。 因此,有了Smalltalk,你就有足够的时间阅读这本书,因为它很短:语法非常适合明信片,而且概念也同样少且简单。这本书将涵盖大部分和所有的特殊情况,因为。。。几乎没有这样的案例。你的知识将普遍适用。它将在系统的所有部分水平工作,并在系统的最高和最低抽象级别垂直工作


能够专注于自己的问题,知道语言支持你,不会妨碍你,而不是浪费你的精力强迫你记住愚蠢的武断的事情,这是一种解放的感觉。

我必须同意埃斯特班的观点。你应该在操场上的工作区玩耍,以获得闲聊的感觉。简单的答案是p1名称='Alice'。但是@EstebanLM的建议比这好得多。