对于C++学习者来说,C++面向对象是绕不开的知识点,很多企业在面试中都会将这个知识点作为面试内容,今天霸哥系统地为大家整理了相关的知识点,希望能够给学习者一些实质性的帮助。
C++面向对象的三大特性为:封装、继承、多态。
C++认为万事万物都皆为对象,对象上有其属性和行为。
比如:人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌,车也可以作为对象,属性有轮胎、方向盘、车灯…,行为有载人、放音乐、放空调…
具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类。
封装:
封装的意义:
1、将属性和行为作为一个整体,表现生活中的事物。
比如设计一个圆类,里面可以有圆半径的成员变量,可以有计算圆的周长的成员函数。
2、将属性和行为加以权限控制。
公共权限 public 类内可以访问 类外可以访问
保护权限 protected 类内可以访问 类外不可以访问
私有权限 private 类内可以访问 类外不可以访问
继承:
继承是面向对象三大特性之一
我们看到很多页面中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同。那么公共的部分就可以使用继承来实现。
继承的最大有点就是可以减少重复的代码。
class A : public B;
A 类称为子类 或 派生类
B 类称为父类 或 基类
派生类中的成员,包含两大部分:
一类是从基类继承过来的,一类是自己增加的成员。
从基类继承过过来的表现其共性,而新增的成员体现了其个性。
继承的权限问题:
公共继承
class Son1 :public Base1
保护继承
class Son2:protected Base2
私有继承
class Son3:private Base3
继承中的构造和析构顺序:
子类继承父类后,当创建子类对象,也会调用父类的构造函数。
继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反。
多态:
多态分为两类:
静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名。
动态多态: 派生类和虚函数实现运行时多态。
静态多态和动态多态区别:
静态多态的函数地址早绑定 - 编译阶段确定函数地址
动态多态的函数地址晚绑定 - 运行阶段确定函数地址。
猩码学苑作为一家专业的C++开发培训机构,课程体系结合企业技术需求设置,授课讲师经验丰富,实打实的项目实战,严格的教学管理,能够帮助学员实现从零到一的技术蜕变,毕业学员平均就业薪资接近12000元,就业数据就是我们教学水平最好的反馈,专业靠谱的培训机构是每一位C++学习者的最优选! |