分享

什么是面向对象编程

 三郞 2023-05-27 发布于重庆

在介绍面向对象之前,那必须先说一下面向过程。

什么是面向过程呢?

面向过程(Procedure-Oriented Programming,简称POP)是一种编程模型,由一系列要执行的计算步骤组成,通常采用自上而下、顺序执行的方式。(更关注于事情是如何一步一步做的流程和逻辑,而面向对象更关注于谁去做什么最后连接而成)
面向过程的编程语言包括:C、Fortran、Pascal、Basic等。
下面来看一个简单的例子:
咱们以把大象放进冰箱为例,面向过程的方式分为三步:
1.打开冰箱
2.把大象放进冰箱
3.关闭冰箱
图形化表示一下,如下图所示:

面向过程执行步骤

转化为代码大致是如下形式:

#include <stdio.h>// 打开冰箱函数bool openRefrigerator(){//........}// 放进大象函数bool pushElephant(){//........}// 关闭冰箱函数bool closeRefrigerator(){//......}int main(){//........if(openRefrigerator())   // 判断是否可以打开冰箱{pushElephant(); // 放进大象closeRefrigerator(); // 关闭冰箱}//.......}

接下来说下面向对象。

面向对象编程(Object-oriented programming,简写:OOP)是一种计算机编程模型,它围绕数据或对象而不是(步骤和流程)功能和逻辑来组织软件设计,更专注于对象与对象之间的交互,对象涉及的方法和属性都在对象内部。说的更底层一点就是面向对象是一种依赖于类和对象概念的编程方式。
面向对象的编程语言包括:C++、Java、Python、C#以及JavaScript等。
类:是相同种类对象的抽象,是它们的公共属性。
对象:对象是类的实例。
面向对象将一个事物描述为一个对象,这个对象包括各种属性和方法,例如上面把大象装进冰箱的例子,冰箱的属性包括:长、宽、高、温度等,方法有:打开、关闭、存储等,这些属性和方法都属于这个对象。
在现实生活中,一座楼、一辆车、一个班级、一个人等都可以对象化。
同样,也把大象放进冰箱为例进行说明,面向对象的方式为:
冰箱是一个对象,大象也是一个对象。冰箱有自己的方法,打开、存储、关闭,有自己的属性:长、宽、高等。大象也有自己的方法,吃、走路等,有自己的属性:体重、高度、体积等。可以用下图来表示:

转化为代码就是:#include <iostream>using namespace std;class Elephant{private :int length; // 长int weight; // 重量public :// 吃bool eat(){//......}};class Refrigerator{private :int length; // 长int width; // 宽int height; // 高public :// 打开冰箱bool openRefrigerator(){//........}// 放进大象bool pushElephant(Elephant elephant){//........}// 关闭冰箱bool closeRefrigerator(){//........}};int main(){Refrigerator ref; // ref 冰箱对象Elephant ele; // ele 大象对象if(ref.openRefrigerator())   // 打开冰箱{ref.pushElephant(ele); // 放进大象ref.closeRefrigerator(); // 关闭冰箱}}

最后,来看一下面向过程和面向对象的区别,如下所示:
(1)安全性
面向对象比面向过程安全性更高,面向对象将数据访问隐藏在了类的成员函数中,而且,类的成员变量和成员函数都有不同的访问属性。而面向过程并没有合适的方法来隐藏程序数据。(2)程序设计上
面向过程通常将程序分为一个个的函数,而面向对象编程中通常使用一个个对象来,函数通常是对象的一个方法。
(3)过程
面向过程通常采用自上而下的方法,而面向对象通常采用自下而上的方法。
(4)程序修改
面向对象编程更容易修改程序,更容易添加新功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多