[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#教程>
上一篇: Flutter 实现原理及在马蜂窝的跨平台开发实践
下一篇: 细说被百度降权的解决方法