一、面向对象的三大特性
封装:隐藏内部实现,稳定外部接口
继承:子类继承父类成员,实现代码复用
多态:不同子类对同一个消息做出不同的反应
二、类与对象
对象是存在的具体实体,具有明确定义的状态和行为。是面向对象编程的核心,为计算机应用程序提供实用基础。是人们要进行研究的任何事物。
类以共同特性和操作定义实体。是用于组合各个对象所共有操作和属性的一种机制。是具有相同状态和行为的一组对象的集合。。
类与对象的关系:类是建筑蓝图、对象是按照这份蓝图来建造的房子。类是对象的原型,所有属于同一个类的对象都有相同的特性和操作。类是概念模型,定义对象的所有特性和所需的操作。对象是实际的实体,是真实的模型。
C#的实现:
//类的成员:字段、方法 public class Student{ //类名 int age=26; //字段 private string name;//z字段 public void SayHi(){ //方法 ... } }
三、访问修饰符
封装性是OOP编程的重要特征,将类进行了封装,对外提供可访问的属性和方法。外部对象必须通过这些属性和方法访问此对象的信息。最主要是通过访问修饰符来控制。
修饰符 | 说明 |
---|---|
public | 所属类的成员以及非所属类的成员都可以访问 |
internal | 当前程序集可以访问 |
private | 只有所属类的成员可以访问 |
protected | 所属类和派生自所属的类型可以访问 |
四、构造函数
构造函数是类的一种特殊方法,构造函数名与类名相同,自动运行,不返回任何值,也不能加void,可初始化成员变量。每个类必须有一个构造函数,用户不提供则系统会提供自己默认的构造函数。构造函数的默认访问是private,但这样就不能在类的外部创建实例。创建了带参数的构造函数,系统不会再创建默认构造函数。
new关键字可以实例化一个新的对象,制定对某个带参数的构造函数。
五、static与方法
静态方法与实例方法
使用static修饰的方法称为静态方法。使用实例对象调用的方法叫做实例方法。static方法中,需要对象访问类中定义的任何实例字段与方法。static方法中,可以直接访问static字段与satic方法。
静态方法 | 实例方法 |
---|---|
static | 不需要static关键字 |
使用类名调用 | 使用实例对象调用 |
可以直接访问静态成员 | 使用类名访问静态成员 |
语法
<returntype> <methodname>(<type1><arg1>,<type2><args2>,...){
<set of statements>
}
其中,<returntype>是方法返回值的数据类型,<methodname>是用户自定义的方法名称
方法的参数列表是一组变量声明。
六、析构函数
语法
~<类名>(){ //析构函数的主体}
注意事项:
不能在结构中定义析构函数,只能对类定义析构函数。
一个类只能有一个析构函数。
无法继承或重载析构函数。
无法调用析构函数,它们是被系统调用的。
析构函数既没有修饰符,也没有参数。