从两个不同的类中创建对象两次是不是很糟糕?



我有一个主表单,当用户单击按钮时,它会弹出一个气球提示。气球提示是从BalloonTip类在Main表单类中实例化的对象。然后我有第二个设置表单。当用户单击设置表单中的某些内容时,也会出现气球提示。我目前在Main类和SettingsForm类中实例化了一个balloontip对象。我的两个问题是:

  1. 有没有更合适的方法来处理这种情况?
  2. 如果在每个类中创建一个对象两次1,如果对象具有相同的名称(即objectBalloon),它会在编译器中引起任何类型的歧义吗?

当你实例化一个对象时,它总是在一个特定的范围内。

例如:

public void DoSomething()
{
    BalloonTip b = new BalloonTip();
    DoSomethingElse();
}
public void DoSomethingElse()
{
    BalloonTip b = new BalloonTip();
}

将为您提供两个不同的BalloonTip实例,它们都称为'b',但它们都只在声明它们的函数范围内有效。

你应该看到一个类定义作为一个蓝图,从它可以实例化多个对象。在一个作用域中可以有多个实例,但它们应该有不同的名称。

当作用域不重叠时,可以使用相同的名称指向不同的实例。

你也可以把一个实例传递给另一个方法,在那个函数中你可以用另一个名字来引用这个实例。

public void DoSomething()
{
    BalloonTip b = new BalloonTip();
    DoSomethingElse(b);
}
public void DoSomethingElse(BalloonTip c)
{
  // c points to the same instance as b in the previous function
}

相关内容

  • 没有找到相关文章

最新更新