一.封装
定义
1.数据角度讲,将一些基本数据类型复合成一个自定义类型。
2.方法角度讲,向类外提供功能,隐藏实现的细节。
3.设计角度讲,分而治之,高内聚低耦合,封装变化。
作用
1.松散耦合,降低了程序各部分之间的依赖性。
2.简化编程,使用者不必了解具体的实现细节,只需要调用对外提供的功能。
3.增强安全性,以特定的访问权限来使用类成员,保护成员不被意外修改。
二.继承
1.父类型引用 指向 父类型对象
2.子类型引用 指向 子类型对象
3.父类型引用 指向 子类型对象
【注意点】
不存在子类型引用指向父类型对象
成员的显示取决于引用类型
父类型引用要调用子类成员,需要向下转型 person as student
4.依赖倒置
依赖抽象(父级)
5.abstract 抽象类
抽象类不能创建对象
abstract:抽象类中的抽象方法是推迟到子类中进行实现(抽象方法必须在子类中进行实现)
virtual :虚函数是父类中有方法的实现,而在子类中进行了重写(虚方法可以选择性实现)