读书读到 构造函数这一部分,想到了些有趣的东西,写下来以给大家分享
构造函数是一个类初始化时调用的无返回值的特殊同名方法,当一个类从另一个类继承 ,派生类的初始化过程其实就是向上不断调用基类的构造函数这也是 .net类库的一个重要特性,通过初始化一个派生类 来完成一整个类库的初始化,书上提到派生类默认的构造函数隐式的调用基类的构造函数 语法如下
class b :a
{
public b():base{}
}
如果a中有一个 带参数的构造函数 那么派生类如何调用呢?语法如下
public b (string str):base(str){}
通过构造函数的参数变量传递给基类 完成调用 那问题就出来了 ,如果我要用一个无参或者参数和基类不同的派生类的构造函数来调用基类指定的构造函数 该如何呢?书上没有,不过我们触类旁通 举一反三即可 语法如下
通过在 b类中声明 静态的字段或者属性 static string str;然后再构造函数中调用静态字段赋给基类的参数列表语法如下
public b():base(b.str){}
这样 就可以灵活的指定基类的构造函数了,技术的乐趣可不就是在这里?