- 类和对象
类是相同对象的集合
类是一种数据类型,对象是一个类的实例
- 面向对象的特点
封装性,把对象的数据和代码组合在同一个结构
继承性,共享代码,父类所有的属性和方法都将存在于子类中
多态性,当消息发送给一个子类对象时,该消息会被不同的子类解释成不同的操作
- 访问修饰符
private 私有成员,仅访问该类
protected 受保护的成员,该类和派生类
public 公共成员,不受限
internal 内部成员,仅限当前项目
- 方法
静态方法,含有static修饰符,不对特定实例操作
非静态方法,对类的某个特定实例操作,可以用this关键字访问该方法
方法的重载,同名不同参
- 构造函数
每个类都有构造函数,即使没有声明,编译器也会自动提供一个默认的没有参数和函数体的构造函数,如果声明了构造函数,系统就不会再提供默认的构造函数
- 析构函数
一个类只能有一个析构函数,无法继承和重载,也不能显式调用,名字同类名/前面加~
- 索引器
索引器是一种特殊的类成员,通常可以使用索引器来操作数组中的元素,能够实现用数组元素的方式来引用对象。
- 类的封装
增强安全性和简化编程,再定义类时,把尽可能多的成员隐藏起来,只对外提供明确,简洁的接口。
- 类的继承
实现代码重用,在类之间定义一种关系,使派生类的实例可以继承已有基类的特征和能力,同时可以加入新的特征或修改已有的特征。
- 类的多态
派生类继承基类所有成员,同时扩展它的基类
- 接口
保证多重继承(隐式实现,显式实现)
- 抽象类
一个类不与具体的事物相联系,只是表达一种抽象的概念和行为
- 密封类
限制扩展性,如果密封了某个类,则其他类不能从该类继承,如果密封了某个成员,派生类不能重写该成员的实现。
- 委托
具有相同的参数列表和返回类型抽象为一种类,被称作委托,关键字delegate
- 事件
两个角色:事件发送方,事件接收方