今天来更新面向更新的三大特性,分别是封装、继承、多态,是C++面试中常考也是非常重要的面试题之一,如果最近有春招的宝可以关注我噢,我会定时分享C++相关常考的知识与面试题哒!
此外,我还会额外更新一个使用C++语言开发的集群聊天室项目,有兴趣的宝可以一起来实操一下,巩固一下C++的知识吧~
话不多说,今日知识摄入开始!
一、面向对象的三大特征
面向对象的三大基本概念:类、对象、继承
面向对象的三大特征是封装性、继承性和多态性
封装性:将客观事物抽象成类,把复杂的细节封装在内部,仅提供简单的接口即可,封装可以隐藏实现细节,使得代码模块化,保护或者防止数据被无意破坏。每个类自身的数据和方法实现权限控制,只让可信的类或者对象操作,对不可信的类进行信息隐藏。
继承性:继承可以使得子类具有父类的各种属性和方法,无需重新编写。
多态性:多态是指不同对象接收相同消息时产生不同的动作,通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为。在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。
二、面向对象的认识
传统的程序设计多是基于功能的思想来进行考虑和设计的
面向对象是一种对现实世界理解和抽象的方法、思想,通过将需求要素转化为对象进行问题处理的一种思想。
面向对象的意义:以模块为中心构建可复用的软件系统;提高软件产品的可维护性和可扩展性。从用户的角度考虑对象,描述对象所需的数据以及描述用户与数据交互所需的操作。
三、类的访问与继承权限
(1)public:用该关键字修饰的成员表示公有成员,该成员不仅可以在类内可以被访问,在类外也是可以被访问的,是类对外提供的可访问接口;
(2)private