我知道对于一个实例变量,我所要做的就是将它放在实例端的initialise方法中并为其分配一个默认值。但是我如何为类变量做这个呢?我试图在类侧创建一个初始化方法,但它没有给我的变量一个默认值,所以我必须在我的一个方法中这样做
pythonString ifNil:[pythonString := '']
但我不喜欢这种方法。
我也发现这是吱吱声,http://forum.world.st/Howto-initialize-class-variables-td1667813.html我也不喜欢这种方法。有没有正确的方法来做到这一点。在Python中,这是一个相当简单的赋值案例,为什么它对Pharo来说如此神秘?
答案 0 :(得分:3)
首先,我希望您谈论的是类对象的实例变量(不是您在实例端定义为“类变量”的东西)。
initialize
正在运行,但它是在实例创建时运行的。当您定义initialize
方法时,实例(类对象)已经存在。
因此,当您第一次定义课程时,您应该自己运行,例如YourClass initialize
,后来每次将类加载到系统中时都应该初始化。