面向过程&面向对象

    大家一定听说过面向过程和面向对象,但是你知道他们之间的区别吗,今天就来和大家好好聊聊面向过程和面向对象。

面向过程:

“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。简写为POP。

    目前大家学的语言中C语言是典型的面向过程语言,每当我们使用C语言做一道题的时候,往往是先分析出解决问题的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个调用。这其实就是面向过程的编程思想,面向过程就是所有的工作都是现写现用,面向过程的思维方式是分析综合。

面向对象:

程序员从面向过程的执行者转化为面向对象的指挥者,
面向对象分析问题的思路和步骤:
1.根据问题的需要,选择问题所针对的现实世界中的实体
2.从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类
3.把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构
4.将类实例化为计算机世界中的对象。对象是计算机世界中解决问题最终的工具、

    面向对象有三大特征:继承,封装和多态。
    1.继承:一个类只能有一个直接父类,子类是对父类的拓展,子类可以重写父类的方法,子类可以获得父类的全部成员变量,方法,和内部类,但是子类不能获得父类的构造器。
    2.封装:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
    3.多态:其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这就可能出现:相同类型的变量,调用同一个方法时,呈现出多种不同的行为特征

举例

在这里插入图片描述
对于面向过程,程序员需要进行下面几个步骤:
    1.把冰箱门打开
    2.把大象装进去
    3.把冰箱门关上
上面每一个步骤,程序员都会用一个函数来实现。
对于面向对象:程序员依次向不同的对象发送命令就可以了。程序员需要进行的步骤:
    1.定义“人”对象,“冰箱”对象,“大象”对象
    2.人向冰箱下达“开门”命令,”冰箱“开门
    3人向大象下达“进冰箱”命令,“大象”进冰箱
    4.人向冰箱下达“关门”命令,“冰箱关门”

面向过程和面向对象的区别

1.编程思想不同
1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。

2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。
2.特点不同
1、面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
2、面向对象语言:识认性,系统中的基本构件可识认为一组可识别的离散对象,对象具有唯一的静态类型和多个可能的动态类型,在基本层次关系的不同类中共享数据和操作。
在这里插入图片描述
3.优势不同
1、面向过程:不支持丰富的“面向对象”特性(比如继承、多态),并且不允许混合持久化状态和域逻辑。

2、面向对象语言:在内部被表示为一个指向一组属性的指针。任何对这个对象的操作都会经过这个指针操作对象的属性和方法。

看了这篇文章,大家是不是对面向过程和面向对象有了更加深入的了解了呢,快来评论区告诉我们吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值