我是OO编程的新手,并试图澄清一些事情。
当您实例化一个类并创建一个对象时,我已经看到了以下内容:
class Program
{
static void Main(string[] args)
{
MyClassA a = new MyClassA();
MyClassA b = a;
MyClassA c = b;
c.DoSomething();
Console.ReadLine();
}
}
public class MyClassA
{
public void DoSomething()
{
Console.WriteLine("I am from Class A");
}
}
这可能是一个不好的例子,但我想要回答的问题是: 为什么将一个对象引用指向另一个重要的或为什么\它在哪里使用?为什么不首先使用您创建的对象?
答案 0 :(得分:0)
这比一般的“面向对象”更多Java - C ++会完全不同(如果你需要“引用”对象,并改变某个变量“引用”的对象,你需要使用显式指针 - C ++中的引用不能“重新安装”。)
无论如何,无条件地创建像你的例子中的同义词没有意义也没有目的。更典型的用途是,例如,
MyClass a = ...whatever...;
MyClass b = ...whatever else...;
MyClass c;
if(something()) {
c = a;
} else {
c = b;
}
c.dosomething();
c.blahblah();
c.andmore();
即具有可以引用一个对象或另一个对象的“同义词”,具体取决于具体情况,以便后续操作始终可以编码为“在同义词上”并且它们将在“右侧” “对象的任何一种方式(诸如复制”后续操作“的整个块之类的替代方案,至少是非常糟糕和重复的风格,并且例如当某些”后续操作“在其他方法中并且是”同义词“时是一个实例变量而不是局部变量,也很难编码。
这当然是最简单的例子。但是,你真的需要其他更复杂的吗? - )