《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 } 

你可能感兴趣的:(.net)