zoukankan      html  css  js  c++  java
  • C# 类类型

    1、一旦定义了自定义构造函数,默认的构造函数就会被移除
    2、可以使用this设计构造函数链,将核心部分代码由主构造函数完成,其余的构造函数调用主构造函数就可以了
    3、静态构造函数适合初始化静态数据成员(这个初始化发生在编译时)
    4、防止创建类对象的方式:
    • 定义静态类
    • 将构造函数声明为私有的(private
    • 将类声明为抽象的(abstract

    5、OOP支柱
    封装:
    • 支持类型属性(可添加访问控制符),用来get和set数据成员(这里的get和set在内部也是方法,
        所以其前面也可以添加访问控制符),也可以只写get或者set。
    • 对于静态数据成员,可以有静态的类型属性来get和set(当然也可以用非静态属性)。
        静态数据的初始化最好在静态构造函数中进行。  
    • 常量(const)必须在声明时被初始化。
    • 只读(readonly)数据成员可以在构造函数里初始化,但是不能在对象构造完后初始化。 
    • 静态只读(staticreadonly)数据成员可以在声明时初始化,也可以在静态构造函数里初始化,
        也可以在非静态构造函数里初始化(不建议,效率很低)。
    • 支持partial关键字,表明类可以写在多个文件中。
    继承:
    • 不支持多重继承,但可以实现许多独立的接口
    • sealed关键字防止派生,一个类被声明为sealed时不可派生
    • base关键字访问父类中的public和protected成员
    • 包含/委托模型,即将一个类对象封装在另一个类里,
        在另一个类里定义方法访问这个类对象所能访问的成员。同时也可以定义属性来公开这个类对象 
    • 嵌套类:通常内部类是为包含类做辅助的,一般为private,但是外部类不能声明为private。
        内部类可以访问外部类的私有成员
    多态:
    • virtual关键字使基类的方法可以被子类重写(override
    • override关键字使子类重写基类virtual方法的实现
    • 当虚方法被声明为sealed时(例如:publicoverridesealed Show()),
        这个虚方法不能再被它的直接子类重写         
    • 抽象类一般定义抽象方法作为接口,使子类必须重写此抽象方法。从而实现多态。  
    • 投影的概念:当子类和父类具有同样的方法时(子类不override父类的方法),
        子类可以为此方法添加new关键字从而隐藏父类的相同方法。如果想调用父类的相同方法时,
        可以强制转化子类为父类,这样就可以使用了。
    • as关键字:用来判断两个对象是否相容(也就是说可以把子类看成父类,不能把父类看成子类)
    • is关键字:判断某个对象是哪个子类
    6、访问修饰符
      private:只能类内部成员方法使用,外部定义的对象不可访问
      protected:只有该类和其派生类的内部成员方法可以使用,外部定义的对象不可访问
      public:(不说了)
      注:C#语言默认的访问控制符是private
  • 相关阅读:
    实习第一周小记------生活不易
    第一次实习面试感受----苦逼程序员生活初体验
    第一次实习面试感受----苦逼程序员生活初体验 分类: 程序人生 2013-07-28 14:13 2395人阅读 评论(0) 收藏
    Java-基于JDK的动态代理
    JS字符串去替换元素再转换成数组
    byte溢出栗子
    Java链式写法
    Scala笔记
    Java反射使用方法
    Java数组3种创建方式
  • 原文地址:https://www.cnblogs.com/handongdong/p/2212294.html
Copyright © 2011-2022 走看看