C++面向对象的三大特性

面向对象:先抽象问题整体,在具体逻辑细节。

面向过程:先具体逻辑细节,再抽象问题整体。

面向对象的三大特性:封装、继承、多态

类的封装  –> 一个类如何描述?
类的继承  –> 多个类型之间存在继承关系,如何继承?
类的多态  –> 类的对象有多种形态?

C++认为万事万物皆为对象,对象上有其属性与行为。
例如: 
人可以作为对象,属性有姓名、年龄、身高、体重…  行为有走、跑、跳、唱歌、跳舞..
车可以作为对象,属性有轮胎,方向盘,车灯…   行为载人、播音乐、放空调…
具有相同性质的对象,我们可以抽象成为类,人属性人类,车属性车类。

  类    —->   对象
 人类          张三
 车类          雷克萨斯
 学生类        李四

《封装性》:数据和代码捆绑在一起,避免外界干扰和不确定性访问。封装可以使得代码模块化。
优点:
确保用户代码不会无意间破坏封装对象的状态
被封装的类的具体实现细节可以随时改变,而无须调整用户级别的代码

《继承性》:让某种类型对象获得另一个类型对象的属性和方法。继承可以扩展已存在的代码
《多态性》:同一事物表现出不同事物的能力,即向不同对象发送同一消息,不同的对象在接收时会产生不同的行为(重载实现编译时多态,虚函数实现运行时多态)。多态的目的则是为了接口重用

静态多态: 静态多态是在程序《编译阶段》已经确定将要执行的状态。 (函数重载,模板)

动态多态:动态多态是在程序《运行阶段》才能确定将要执行的状态。 (虚函数覆盖)

简单的理解:面向对象就是把所有代码写入到类中

    原文作者:物の哀
    原文地址: https://blog.csdn.net/m0_64837135/article/details/123480830
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞