C#继承中的构造方法
程序员文章站
2022-07-15 18:06:37
...
继承中的构造方法:一个子类对象在实例化之前,需要先实例化从父类继承到的部分。实例化父类部分,默认会使用父类中无参的构造方法。
先看以下问题,此处Cat继承了父类Animal会报错,报错如下:
【解决方案】如下代码两种解决方案:
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关键字:指向父类构造方法。