//父类
  class parent
  {
  }
  //子类
  class child : parent
  {
  }声明这两类的实例时:
 parent a = new parent(); ————→① parent a = new child();  ————→②①句和②究竟有什么区别呢?

解决方案 »

  1.   

    for example://父类
        class parent
        {
            public string p;
        }
        //子类
        class child : parent
        {
            public string c;
        }
    parent a = new parent();
                a.p  = "parent";//正确
                parent b = new child();
                b.p = "parent";//正确
                b.c = "child";//错误            child c = (child)b;
                c.c = "child";//正确
      

  2.   

    parent a = new parent(); ————→① parent a = new child();  ————→②1 。 会运行 构造函数 parent(); 
    2。 会运行 构造函数 parent()和child();
      

  3.   

    parent a = new parent();  parent b  = new child();  有区别。a就是一个parent。 b虽然用一个parent类型的引用,但他还是child。 由于b是parent的引用,所以只能调用parent类型里面定义的方法。 如果在child类里面复写了parent类的方法Method,那么b.Method(),将调用child里面定义的Method()而不是parent里面的。 这就叫多态。