我有一个表单,其中有一个按钮,用于创建一个新对象并调用它的start()
方法。
该程序运行正常,但是,我现在想要创建一个停止按钮。我显然无法调用对象的stop()
方法,因为它在其他地方,但是,我只是想不出更改代码的正确方法。
在我写这篇文章时,我能想到的最好的事情是将MyObject myo = new MyObject("test");
和MyObject myo;
放在类的顶部,在方法之外,然后尝试在类中设置它
在这种情况下你会做什么?
答案 0 :(得分:3)
这正是你应该做的。它被称为创建成员变量。
但请确保myo.stop()
为myo
时不要致电null
!
答案 1 :(得分:3)
你是对的。您必须将对象引用存储在某个位置,以便稍后可以调用其“停止”方法。
答案 2 :(得分:3)
这完全取决于范围。
如果您希望表单随时可以看到该对象,则将其作为私有/受保护成员放置在表单的对象中可能是一条很好的路径。 (确保它不是空的。
class MyForm
{
private MyObject myobject;
private MyForm(){
// create the object
myobject = new MyObject;
}
private void Start_Click(){
myobject.start();
}
private void Stop_Click(){
myobject.stop();
}
}
如果经常引用此对象,您可以关注singleton pattern。
如果您可以根据传递给构造的[an /]参数重新创建,则可以在每次需要时重新创建它。