博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 类类型
阅读量:5034 次
发布时间:2019-06-12

本文共 1297 字,大约阅读时间需要 4 分钟。

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

转载于:https://www.cnblogs.com/handongdong/archive/2011/10/14/2212294.html

你可能感兴趣的文章
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>
分享Java web 开发必游之路
查看>>