C++的三大特性
C++的三大特性
C++的三大特性为:继承、多态、封装
继承
被继承的是父类(基类),继承出来的类是子类(派生类),子类拥有父类的所有的特性。
继承方式有公有继承、私有继承,保护继承。默认是私有继承
- 公有继承中父类的公有和保护成员在子类中不变,私有的在子类中不可访问。
- 私有继承中父类的公有和保护成员在子类中变为私有,但私有的在子类中不可访问。
- 保护继承中父类的公有和保护成员在子类中变为保护,但私有的在子类中不可访问。
c++语言允许单继承和多继承
多态
多态性是指对不同类的对象发出相同的消息将会有不同的实现
C++有两种多态,称为动多态(运行期多态)和静多态(编译器多态)
- 静多态主要是通过模板来实现
- 动多态是通过虚函数来实现的。即在基类中存在虚函数(一般为纯虚函数)子类通过重载这些接口,使用基类的指针或者引用指向子类的对象,就可以调用子类对应的函数,动多态的函数调用机制是执行器期才能确定的,所以他是动态的。
封装
隐藏类的属性和实现细节,仅仅对外提供接口
封装性实际上是由编译器去识别关键字public、private和protected来实现的,体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protected)。
- 私有成员是在封装体内被隐藏的部分,只有类体内说明的函数(类的成员函数)才可以访问私有成员,而在类体外的函数时不能访问的
- 公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员
- 保护成员是只有该类的成员函数和该类的派生类才可以访问的。
C++的三大特性
https://carl-5535.github.io/2022/03/10/C++/c++的三大特性/