第九章 定义类

  1. internal:内部的,只有当前项目中的代码才能访问它。public:可以由其他项目中的代码访问。
  2. abstract: 抽象的(不能实例化,只能继承,可以有抽象成员)。sealed:密封的,不能继承。
  3. 指定继承:在类名的后面加上一个冒号,其后是基类名。
        public class MyClass :MyBase
        {
            // Class members.
        }

     

  4. 不允许派生类的可访问性高于基类。也就是说,内部类可以继承于一个公共基类,但公共类不能继承于一个内部类。
  5. 所有接口成员都必须在支持该接口的类中实现。但如果不想使用给定的接口成员,就可以提供一个“空”的实现方法(没有函数代码)。还可以把接口成员实现为抽象类中的抽象成员。(先基类,在接口,逗号分隔)
        public class MyClass :MyBase ,IMyInterface, IMySecondInterface
        {
            // Class members.
        }

     

  6. 定义接口
        public interface IMyInterface : IMyBaseInterface, IMyBaseInterface2
        {
            // Interface members.
        }

     

  7. 构造函数
    class MyClass
        {
            public MyClass()
            { 
                //
            }
    
            public MyClass(int i)
            { 
                //
            }
        }

     

  8. 构造函数初始化器:指定构造函数的执行顺序。http://www.cnblogs.com/David-Huang/archive/2012/07/24/2606356.html
  9. 类库:p196
  10. 抽象类主要用做对象系列的基类,共享某些主要特征,例如,共同的目的和结构。接口则主要用于类,这些类在基础水平上有所不同,但仍可以完成某些相同的任务。p199
  11. 类是引用类型,结构是值类型。p201
  12. 通过实现 ICloneable 接口,实现深度复制。详见11章。

习题:https://files.cnblogs.com/David-Huang/C09.zip

posted @ 2012-07-24 11:11  David Huang  阅读(168)  评论(0编辑  收藏  举报