C++封装继承多态

封装

也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
把对象的属性和服务结合成一个独立的系统单元。
尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生联系。

继承

继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。
定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
例如:将轮船作为一个一般类,客轮便是一个特殊类。

多态

多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。

继承和多态

继承是面向对象程序设计实现软件重用的重要方法。程序员可以在已有基类的基础上定义新的派生类。
 单继承的派生类只有一个基类。多继承的派生类有多个基类。
 派生类对基类成员的访问由继承方式和成员性质决定。
 创建派生类对象时,先调用基类构造函数初始化派生类中的基类成员。调用析构函数的次序和调用构造函数的次序相反。
 C++提供虚继承机制,防止类继承关系中成员访问的二义性。
 多继承提供了软件重用的强大功能,也增加了程序的复杂性。

多态相关面试题

多态的实现效果

多态:同样的调用语句有多种不同的表现形态;

多态实现的三个条件

有继承、有virtual重写、有父类指针(引用)指向子类对象。

多态的C++实现

virtual关键字,告诉编译器这个函数要支持多态;不是根据指针类型判断如何调用;而是要根据指针所指向的实际对象类型来判断如何调用

多态的理论基础

动态联编PK静态联编。根据实际的对象类型来判断重写函数的调用。

多态的重要意义

设计模式的基础 是框架的基石。

实现多态的理论基础

函数指针做函数参数
C函数指针是C++至高无上的荣耀。C函数指针一般有两种用法(正、反)。

谈谈你对重写,重载理解

函数重载
必须在同一个类中进行
子类无法重载父类的函数,父类同名函数将被名称覆盖
重载是在编译期间根据参数类型和个数决定函数调用
函数重写
必须发生于父类与子类之间
并且父类与子类中的函数必须有完全相同的原型
使用virtual声明之后能够产生多态(如果不使用virtual,那叫重定义)
多态是在运行期间根据具体对象的类型决定函数调用

其他的可以看https://blog.csdn.net/qq_35433716/article/details/81742744
深入C++对象模型

猜你喜欢

转载自blog.csdn.net/qq_35433716/article/details/82251789