我知道对于一个实例变量,我所要做的就是将它放在实例端的初始化方法中并为其分配一个默认值。但是我如何为类变量做到这一点?我试图在类端创建一个初始化方法,但它没有给我的变量一个默认值,所以我不得不在我的一个方法中做到这一点
pythonString ifNil:[pythonString := '']
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这种方法。
我也为 squeak 找到了这个,http://forum.world.st/Howto-initialize-class-variables-td1667813.html我也不喜欢这种方法。有没有正确的方法来做到这一点。在 Python 中,这是一个相当简单的赋值案例,为什么它对 Pharo 来说如此神秘?
首先,我希望您谈论的是类对象的实例变量(不是您在实例端定义为“类变量”的东西)。
initialize正在运行,但它正在创建实例时运行。当您定义initialize方法时,实例(一个类对象)已经存在。
因此,当您第一次定义您的类时,您应该自己运行它,例如YourClass initialize,稍后每次将您的类加载到系统中时都应该对其进行初始化。
| 归档时间: |
|
| 查看次数: |
1763 次 |
| 最近记录: |