如何初始化类变量?

时间:2014-07-23 09:53:02

标签: smalltalk pharo

我知道对于一个实例变量,我所要做的就是将它放在实例端的initialise方法中并为其分配一个默认值。但是我如何为类变量做这个呢?我试图在类侧创建一个初始化方法,但它没有给我的变量一个默认值,所以我必须在我的一个方法中这样做

pythonString ifNil:[pythonString := '']

但我不喜欢这种方法。

我也发现这是吱吱声,http://forum.world.st/Howto-initialize-class-variables-td1667813.html我也不喜欢这种方法。有没有正确的方法来做到这一点。在Python中,这是一个相当简单的赋值案例,为什么它对Pharo来说如此神秘?

1 个答案:

答案 0 :(得分:3)

首先,我希望您谈论的是类对象的实例变量(不是您在实例端定义为“类变量”的东西)。

initialize正在运行,但它是在实例创建时运行的。当您定义initialize方法时,实例(类对象)已经存在。

因此,当您第一次定义课程时,您应该自己运行,例如YourClass initialize,后来每次将类加载到系统中时都应该初始化。