C# 作为一种纯面向对象的话言, 为它编写的整个代码里面到处都离不开对象. 一个对象的完整的生命周期是从开始分配空间到初始化, 到使用, 最后是销毁, 使用的资源被回收. 要想真正写出面高质量的代码, 我们就得对这期间每一个阶段是怎么样一个状态, framework 都做了些什么, 我们又能够做些什么都要有些了解才行.
一般来说大部分程序员对于一个创建好了的对象怎么使用都是比较清楚的, 所以本文也就不想就这一部分做太多的说明, 重点就集中开对象的创建和销毁这两个阶段, 这也是程序员最容易范错误的阶断. 本文首先来讲一讲对象成员的初始化, 至于对象的释放和销毁, 我想放到另外一篇文章里去讲. 虽然本文是以 C#2005 为例的, 但推而广之, 对于其它的基于 CLS 规范的语言应该也是一样的.
首先我们来看看引用类型的成员初始化过程
我们来看一个例子吧
- classProgram
- {
- staticvoidMain(string[] args)
- {
- DriveB d =newDriveB();
- }
- }
- classBaseA
- {
- staticDisplayClass a =newDisplayClass("基类静态成员初始化");
- DisplayClass BaseA_c =newDisplayClass("基类实例变量 BaseA_c 初始化");
- publicBaseA()
- {
- Console.WriteLine("基类构造方法被调用");
- }
- }
- classDriveB : BaseA
- {
- staticDisplayClass DriveB_b =newDisplayClass("继承类静态成员 DriveB_b 初始化");
- //static BaseA DriveB_a = new BaseA();DisplayClass DriveB_c =newDisplayClass("继承类实例变量 DriveB_c 初始化");
- publicDriveB()
- {
- Console.WriteLine("继承类构造方法被调用");
- }
- }
- classDisplayClass
- {
- publicDisplayClass(stringdiplayString)
- {
- Console.WriteLine(diplayString);
- Console.WriteLine();
- }
- }
来源: http://www.bubuko.com/infodetail-2983936.html