C#中父类与子类构造函数的调用顺序使用说明
作者:先学再说
C#中父类构造函数优先于子类执行,实例化子类时会按继承层级依次调用各构造函数,输出顺序为父类→子类→孙类
C#父类与子类构造函数的调用顺序
我们先来建立一个父类,一个子类,一个子类的子类
class BaseClass { private string name = "BaseClass"; public BaseClass() { Console.WriteLine(name); } } class SubClass1:BaseClass { private string name = "SubClass1"; public SubClass1() { Console.WriteLine(name); } } class SubClass1_1:SubClass1 { private string name = "SubClass1_1"; public SubClass1_1() { Console.WriteLine(name); } }
在构造函数中分别输出对应类内建立的私有变量name
在主函数中,输入
BaseClass bc=new SubClass1_1();
然后,运行
先想一想输入是什么
5
4
3
2
1
揭晓答案
我们看到,首先输出了父类BaseClass的变量值,然后是SubClass1,最后才是SubClass1_1的。
实例化父类时,可以通过new子类来实例化父类,执行构造函数的顺序为:先执行父类的构造函数,再执行子类的构造函数
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。