首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visualworks Cincom Smalltalk类变量销毁

Visualworks Cincom Smalltalk类变量销毁
EN

Stack Overflow用户
提问于 2013-12-04 15:18:23
回答 2查看 183关注 0票数 0

如何在Visualworks中初始化类变量并在使用后销毁它?我想知道关于ClassVariables的事。不是ClassInstanceVariables。

我正在实现Singleton模式,下面是我的代码

代码语言:javascript
复制
MyClass class>> aClasMethod
         aClassVariable isNil ifTrue:[
               aClassVariable := 'I am a variable'.
         ]
         ^aClassVariable.

一旦创建了变量,我就无法销毁它。也就是说,下次我运行我的代码时,我会看到这个类变量保留了它以前的值。我怎么才能避免这种情况?

我试过这样做: MyClass allInstances do::inst \ inst变成: nil。但没有用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-04 22:16:34

最好的方法是添加一个类方法,将类变量设置为零,然后在适当的时候调用它。我一直在用Singleton模式做这件事。

票数 1
EN

Stack Overflow用户

发布于 2013-12-06 01:14:28

我认为我们通常使用单例模式,这样我们就只有一个对象。我不知道为什么要在类变量中存储字符串值。尝试存储一个对象,这样您将只有该特定对象的一个副本,并将值存储在实例变量中。所以特定的对象只有一些特定的值。然后,将来,如果您需要更新存储在实例变量中的值,则再创建一个方法updateValues,并在其中执行所有操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20379107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档