c#再看构造函数

来源:互联网 发布:千牛是干什么的软件 编辑:程序博客网 时间:2024/05/01 04:35

简介:写了个小例子,看看c#中的构造函数链的调用过程

1.建立简单console项目,其中Class2.cs继承自Class1.cs

目录代码如下图:






结果如下:


2.对上面的项目做如下修改

Program不改动,把class1.cs中test方法的virtual去掉,class2中的override改成new,




结果如下:


总结:

在继承链构建对象时,子类构造函数执行之前调用父类构造函数,父类继续向上调用,一直到object,关闭函数体顺序如下,关闭object构造函数体,关系下一级构造函数,最后关闭子类构造函数体,在父类构造中如果出现了调用方法的现象,则若父类中的方法用了virtual修饰,且子类中override了,则调用的是子类的方法,否则调用的是父类自己的方法,

0 0