《C#与.net高级编程》——第一支柱:C#的封装

This关键字的作用:

解决当传入参数的名字和类型数据字段的相同时产生的作用域歧义。

构造函数链

 1 class Motorcycle
 2 {    
 3    public int driverInterIntensity;
 4    public string driverName;
 5    //构造函数链
 6    public Motorcycle(){}
 7    public Motorcycle(int intensity)
 8               : this(intensity,""){}
 9    public Motorcycle(string name)
10               : this(0,name) {}
11   //这是做所有工作的“主”构造函数
12   public Motorcycle(int intensity ,string name)
13   {
14     if (intonsity > 10)
15    {
16         intensity =10;
17    }
18    driverIntensity = intensity;
19    driverName = name;
20   }
21 }

构造函数链的链接流程

  1. 通过调用只有单个int的构造函数来创建对象。
  2. 构造函数将提供的数据转发给主构造函数,并且提供调用者没有提供的其他初始参数。
  3. 主构造函数把传入的数据赋值给对象的字段数据。
  4. 控制返回到最初调用的构造函数,并且执行手忙脚乱剩余的代码语句。

常量数据

关键字:const

注:定义常量时必须为常量指定初始值。

只读字段

关键字:readonly

   和常量紧密联系的概念是只读字段数据。和常量相似,只读字段不能在赋初始值后改变。然而,和常量不同的是,赋给只读字段的值可以在运行时决定,因此在构造函数作用域中进行赋值是合法的。

静态只读字段

关键字:static readonly

分部类型

使用分部类将构造函数和字段数据转移到全新的 Employee.Internal.cs 文件中。第一步是向当前的类定义中添加partial关键字,再剪切转移到新文件中的代码:

1 // Employee.cs
2 partial class Employee
3 {
4    //方法
5    //属性
6 }

然后,假设已经在项目中插入了新的类文件,将数据字段和构造函数粘贴到新文件中。此外,还必须在类定义中添加partial关键字。例如:

1 // Employee.Internal.cs
2 partial class Employee
3 { //字段数据
4     //构造函数
5 } 
posted @ 2012-11-08 09:18  Charlie Jin  阅读(612)  评论(0编辑  收藏  举报