c# 构造函数的一点见解
2013-12-08 20:59
274 查看
读书读到 构造函数这一部分,想到了些有趣的东西,写下来以给大家分享
构造函数是一个类初始化时调用的无返回值的特殊同名方法,当一个类从另一个类继承 ,派生类的初始化过程其实就是向上不断调用基类的构造函数这也是 .net类库的一个重要特性,通过初始化一个派生类 来完成一整个类库的初始化,书上提到派生类默认的构造函数隐式的调用基类的构造函数 语法如下
class b :a
{
public b():base{}
}
如果a中有一个 带参数的构造函数 那么派生类如何调用呢?语法如下
public b (string str):base(str){}
通过构造函数的参数变量传递给基类 完成调用 那问题就出来了 ,如果我要用一个无参或者参数和基类不同的派生类的构造函数来调用基类指定的构造函数 该如何呢?书上没有,不过我们触类旁通 举一反三即可 语法如下
通过在 b类中声明 静态的字段或者属性 static string str;然后再构造函数中调用静态字段赋给基类的参数列表语法如下
public b():base(b.str){}
这样 就可以灵活的指定基类的构造函数了,技术的乐趣可不就是在这里?
构造函数是一个类初始化时调用的无返回值的特殊同名方法,当一个类从另一个类继承 ,派生类的初始化过程其实就是向上不断调用基类的构造函数这也是 .net类库的一个重要特性,通过初始化一个派生类 来完成一整个类库的初始化,书上提到派生类默认的构造函数隐式的调用基类的构造函数 语法如下
class b :a
{
public b():base{}
}
如果a中有一个 带参数的构造函数 那么派生类如何调用呢?语法如下
public b (string str):base(str){}
通过构造函数的参数变量传递给基类 完成调用 那问题就出来了 ,如果我要用一个无参或者参数和基类不同的派生类的构造函数来调用基类指定的构造函数 该如何呢?书上没有,不过我们触类旁通 举一反三即可 语法如下
通过在 b类中声明 静态的字段或者属性 static string str;然后再构造函数中调用静态字段赋给基类的参数列表语法如下
public b():base(b.str){}
这样 就可以灵活的指定基类的构造函数了,技术的乐趣可不就是在这里?
相关文章推荐
- DEMO[C#]关于类构造函数的调用顺序的一点补充[针对书C#入门经典所举范例的不足]
- DEMO[C#]关于类构造函数的调用顺序的一点补充[针对书C#入门经典所举范例的不足]
- 关于C#中非可空类型的一点建议
- java和c#哪个更好一点啊
- C#一点界面体会
- 【原创】C#玩高频数字彩快3的一点体会
- 初次了解VS.net c#的一点体会------程序员的工作似乎更轻松了
- C#中继承带参构造函数
- C#在构造函数中调用构造函数的方法(语法)
- c#学习笔记-构造函数和析构函数
- C#中对值类型和引用类型的一点认识
- 【转载】关于C#中Thread.Join()的一点理解
- C#的构造函数
- C# 静态类的构造函数
- c#还有一点不太明白,既然开启了线程为何还要委托呢?
- C#学习基本概念之构造函数之一(使用构造函数)
- C#编程基础:静态构造函数
- C#温故而知新学习系列之面向对象编程—7-构造函数
- c#基础——类中私有构造函数作用
- 转 关于C#中派生类调用基类构造函数的理解