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

[C#复习向整合]继承中的构造函数

程序员文章站 2022-05-14 09:06:37
...

1.概念:

当申明一个子类对象时,先执行父类构造函数,再执行子类构造函数.

父类无参构造很重要.若父类没有无参构造函数,则子类也会报错.因为子类构造时,无法调到父类构造(没有参数传递).可以通过base的用法来避免.

子类可以通过this关键字,代表父类,调用父类构造函数.

2.继承中构造函数的调用顺序

从最底层到高层

父类的父类->父类->子类

3.通过base调用父类构造

可以通过子类调用父类指定构造函数,就可以不用调用父类默认构造无参构造了,父类也就可以没有无参构造函数了.

总而言之,调用子类构造函数,必须先调用父类构造函数,有参无参看自己用法.

public Father
{
    public Father(int i)
    {
        //没有无参构造
    }
}
public Son : Father
{
   // public Son()
   // {
        //因为父类没有无参构造,所以这样写报错
   // }
    public Son(int i) : base(i)
    {
        //调用父类有参构造,不报错
    }
    public Son(int i,string name) : this(i)
    {
        //不报错,但不能不要this,因为父类没有无参构造
    }
}

参考资料<唐老狮C#教程>

相关标签: C#总结笔记