欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#继承中的构造方法

程序员文章站 2022-07-15 18:06:37
...

继承中的构造方法:一个子类对象在实例化之前,需要先实例化从父类继承到的部分。实例化父类部分,默认会使用父类中无参的构造方法。

先看以下问题,此处Cat继承了父类Animal会报错,报错如下:
C#继承中的构造方法
C#继承中的构造方法

【解决方案】如下代码两种解决方案:

class Animal
{
    public string name;
    //解决方案1:加一个无参构造方法(空方法)
    public Animal() { }

    //有参构造方法
    public Animal(string name)
    {
        this.name = name;
    }
}
//当父类中只有有参构造方法,没有无参构造方法,则报错
class Cat : Animal {
}
class Dog : Animal
{
    public int age;
    //解决方案2:在执行构造方法执行之前,先去执行父类中有参的构造方法
    public Dog() : base("")
    {
    }
}

【拓展】this关键字:指向当前类构造方法、base关键字:指向父类构造方法。