小编jac*_*ack的帖子

继承怀疑

我对OOP比较陌生,所以想清除一些东西,

我有以下代码

class Parent
{
     public Parent()
     {
           Console.WriteLine("Parent Class constructor");
     }

     public void Print()
     {
            Console.WriteLine("Parent->Print()");
     }
}

class Child : Parent
{
     public Child() 
     {
          Console.WriteLine("Child class constructor");
     }

     public static void Main()
     {
           Child ChildObject = new Child();
           Parent ParentObject = new Child();

           ChildObject.Print();
           ParentObject.Print();
     }

}
Run Code Online (Sandbox Code Playgroud)

输出:

Parent Class Constructor
Child Class constructor

Parent Class Constructor
Child Class constructor

Parent->Print()
Parent->Print()
Run Code Online (Sandbox Code Playgroud)

我的问题如下:

1)为什么在使用构造函数实例化对象时调用基类构造ChildClass函数?没有明确指定base关键字.有没有办法避免调用基类构造函数?

2)为什么ParentClass ParentObj = new ChildClass();可能?而不是相反.

c# inheritance

5
推荐指数
2
解决办法
149
查看次数

标签 统计

c# ×1

inheritance ×1