第三章 对象和类型

这一章的内容比较基础

1.类和结构的区别

   a.最大的区别存储位置不一样:类是引用类型存放在堆上,结构是值类型存放在堆栈上。所以new运算符与类的工作方式不同,不分配内存,只是调用构造函数,初始化字段。 

  结构可以编写如下的代码:

   Demensions point;

   point.Length = 3;

   point.Width =6;s

   b.结构不支持继承;

   c.结构不允许定义无参数构造函数,不能给字段提供初始值;

2.类成员

  a. ref 参数带入前初始化 out 在返回前初始化

  b. 方法重载

        两个方法不能仅在返回类型上有区别。

        两个方法不能仅根据参数是声明为ref还是out来区分。

    方法签名 指的是方法名相同,但参数的个数和类型不同。不包括返回值。

3 静态构造函数

   没有访问修饰符;不能带任何参数;一个类只能有一个静态构造函数,显然,静态构造函数只能访问静态成员。

4 自读字段

   把字段声明为只读类型,表示其值只能在构造函数中设置。

5 部分类

   以前写代码经常会看到partical,从来没有去想过它的意义。其实就是嵌套,我理解为Asp里面的top.asp

6 扩展方法

   如果有类的源代码,继续是给对象添加功能的好方法。

   如果没有源代码,可是使用扩展方法。

   假设有Money类需要一个方法AddToAmount(decimal amountToAdd)。创建一个静态类,把方法AddToAmount添加为一个静态方法

   public static class MoneyExtension

    {

        public static void AddToAmount(this Money money,decimal amountToAdd)

           {money.Amount += amountToAdd};

     }

    在扩展方法中,可以访问所扩展类型的所有共同方法和属性

    调用时 : cash1.AddToAmount(10M);  需要使用实例变量调用。

    如果已经存在同样的方法,扩展方法不会被调用。

posted on 2010-12-22 23:28  小齐宝  阅读(159)  评论(0)    收藏  举报

导航