对象参考基础知识

时间:2010-08-30 05:34:28

标签: oop

我是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");
        }
    }

这可能是一个不好的例子,但我想要回答的问题是: 为什么将一个对象引用指向另一个重要的或为什么\它在哪里使用?为什么不首先使用您创建的对象?

1 个答案:

答案 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();

即具有可以引用一个对象或另一个对象的“同义词”,具体取决于具体情况,以便后续操作始终可以编码为“在同义词上”并且它们将在“右侧” “对象的任何一种方式(诸如复制”后续操作“的整个块之类的替代方案,至少是非常糟糕和重复的风格,并且例如当某些”后续操作“在其他方法中并且是”同义词“时是一个实例变量而不是局部变量,也很难编码。

这当然是最简单的例子。但是,你真的需要其他更复杂的吗? - )