JAVA 面向对象与面向过程区别

什么是面向过程

概述:自上而下的编程模式

将我们所需要的问题(需求)拆分成一个个步骤,把每个步骤使用函数进行实现,再根据解决问题的步骤逻辑将函数依次调用即可。
可以通俗的理解成为,再进行面向过程的编程过程中,我们不需要去考虑复杂的逻辑问题,而是先定义一个函数,再使用类似于if-else,for-each等方式方法进行代码的实现,逐步分解解题逻辑以达到解决问题的最终方法。
其中最典型的方法就是实现一个简单的算法,“冒泡排序”,调用冒泡算法函数进行数组的排序
代码实现

// An highlighted block
import com.jiajia.ArrayUtil.*;  // 按包名导入public class BubbleSortMain {public static void main(String[] args) {int[] arr = {2,5,1,3,8,5,7,4,3};bubbleSort(arr);ArrayUtil.print(arr);}/*** 冒泡排序* @param arr*/private static void bubbleSort(int[] arr) {if(arr==null || arr.length < 2 ){return;}for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - i -1; j++) {   // 这里说明为什么需要-1if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}
}

什么是面向对象

概述:将事物高度抽象化的编程模式

将问题分解成一个个的步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。通俗一点讲,在进行面向对象的编程过程中,要把属性、行为等封装成为对象,而后基于这些对象及对象的能力进行业务逻辑的实现。
譬如:我们想要造一辆车,那么我们就把车的属性定义出来,然后抽象成为一个Car类。

举例说明其二者之间的区别

比如我们可以通过象棋的设计来具体问题具体分析;
面向对象:创建黑白双方的对象负责演算;创建棋盘对象负责画布;规则对象进行判断;
这样就可以看出,面向对象更重视不重复造轮子,即可以理解为创建一次,重复使用。
面向过程:(开始-黑棋走-棋盘-判断-白棋走-棋盘-判断)循环。我们只是需要去关注每一步怎么走,怎么实现即可。
优劣对比:
面向对象:占用资源比重较高,速度相对较慢。易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统
面向过程:占用资源比重较低,速度相对较快,没有面向对象易维护、易复用、易扩展

总结

其实上面所讲到的都是一些官方的解释,对于初学者来说是比较难以理解的或者说是比较容易记混的,那不如通过生活中的实例进行演示可能会更加的好理解,更容易记住,下面就举一个简单的例子通俗的解释这些官方给出的释义。
干饭人,干饭魂,干饭都是人上人
每天我们都在干饭,一日三餐必不可少,偶尔来顿宵夜加餐也未尝不可,那么我们就从干饭这个角度来说明面向对象面向过程
我们把面向过程定义为一份蛋炒饭 ;把面向对象定义为盖浇饭
虽然没有亲手做过这两道饕餮大餐,但是没吃过猪肉还没见过猪跑吗?
蛋炒饭的步骤虽然说不是很清楚但是有一步肯定是重中之重那就是把蛋液和米饭混搭在一起,OK,那么这个时候问题来了,我们把如何做蛋炒饭的步骤一个个想象出来,第一步该干什么,第二步该干什么…直到出锅,饭好了开干。如果恰好有人反悔了不喜欢鸡蛋,喜欢榨菜,要是榨菜炒饭那么这个时候怎么办呢,那我们只能倒掉重来,在制作过程的某一步把鸡蛋换成榨菜;这就体现出了面向过程的基本要素,你仔细想想是不是这么回事?
盖浇饭如果是面向对象的话,就可以理解为每个菜都是不同的对象,米饭也是一个对象,你要吃鱼香肉丝盖浇饭,那么好米饭+鱼香肉丝,OK出锅,你说你反悔了不想吃鱼香肉丝(对象),想吃酱香猪蹄(对象),我把鱼香肉丝扒拉掉,换成酱香猪蹄,我只需要换菜(对象),而不是整个倒掉重来,这和面向对象的基本要义完全相符。
这样的比较可以说是把二者之间的区别展现了出来,也让我们有了更加具体的理解。
相信会对你的编程之路有好的帮助,为你开个好头!

JAVA 面向对象与面向过程区别相关推荐

  1. java是面向对象还是面向过程_Java教程分享Java面向对象与面向过程

    Java教程分享Java面向对象与面向过程,面向对象: 是一种看待问题, 解决问题的思维方式, 着眼点在于找到一个能够帮助解决问题的实体, 然后委托这个实体来解决问题 面向过程: 是一种看待问题, 解 ...

  2. Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……

    面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...

  3. Java面向对象和面向过程的区别

    面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...

  4. java面向对象与面向过程的区别

    面向对象与面向过程的区别 面向过程与面向对象,只是一种思维方式的划分   面向过程 面向对象 区别 以分步骤的方式解决问题. 用方法组织代码. 以分类的方式解决问题. 用类组织代码. 共同点 细节上用 ...

  5. 面向对象与面向过程区别

    面向对象:用线性的思维.与面向过程相辅相成.在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统.微观上,仍然使用面向过程. "面向过程"是一种是事件为中心的编程思 ...

  6. php 面向对象和面向过程区别

    面向对象与面向过程的区别: 面向过程编程:不是技术,是一种思想,一种将流程分解成小功能,然后用函数对小功能进行封装,在使用的时候调用函数去实现. 面向对象都有以下三个基本特点:封装,继承和多态 共同点 ...

  7. Java面向对象(OOP)--面向过程 面向对象 OOP详解

    1. 面向过程 & 面向对象 语言的进化发展跟生物的进化发展其实是一回事,都是"物以类聚".相近的感光细胞聚到一起变成了我们的眼睛,相近的嗅觉细胞聚到一起变成了我们的鼻子. ...

  8. 关于面向对象、面向过程区别,我的看法

    表示你把一个概念学懂了.了解透彻了的最简单检验标准就是-你能不能让一个门外汉也听懂个60%? 为了尝试给出最简单的解释,让门外汉听懂,我和同事采用各种表述,最终都不太满意.后来无意间看到网络上有人回答 ...

  9. python 递归函数_Python尚学堂高淇|P82P86面向对象和面向过程的区别LEGB规则nonlocal_global递归函数阶乘计算案例...

    P82-递归函数-阶乘计算案例 #使用递归函数计算阶乘def factorial(n):if n==1:return 1else:return n*factorial(n-1)result=facto ...

最新文章

  1. Android怎么隐藏前端,Android-Webview支持缩放并掩藏讨厌的缩放控制条
  2. 【OpenCV学习笔记4】OpenCV GUI 之VCWin32+OpenCV 实现细胞计数
  3. php嵌入html后缀_php中怎么嵌入html代码
  4. Python基础概念_7_数据结构
  5. GIT — 使用回顾
  6. IntelliJ IDEA导入Maven之后强制刷新项目解决无法识别为Maven项目的问题
  7. 直接拿来用!最火的Android开源项目(一) (转)
  8. C语言求字符串并集,怎样用c语言写求集合的交集,并集,补集”这个程序?
  9. sm是什么职位_职位或职级ED MD SM M 是什么意思?
  10. 2022-Java学习路线梳理
  11. python诗歌文件格式处理_Python诗歌的依赖版本语法
  12. 微机原理与接口技术[第三版]——第七章课后习题答案
  13. 西南大学网络教育行政管理计算机答案,西南大学网络教育1056计算机基础春考试大作业答案.doc...
  14. 2021年第六届数维杯A题 外卖骑手的送餐危机
  15. Greenplm小把戏 - 增加分区脚本
  16. 7621:硬币面值组合
  17. Pete's Pantry
  18. 11月03日解题报告
  19. mysql实现对商品进行分类,并根据排名占比打标签
  20. 不用root卸载手机系统软件

热门文章

  1. Mscomm32使用记录
  2. 论文笔记:传统CV和深度学习方法的比较
  3. 磁带库连接服务器协议,如何确定磁带库设备和OS设备文件的对应关系
  4. 关于ISI、SCI、EI、IEEE、Elsevier、Springer的理解
  5. 有啊网页诊断工具相关总结
  6. 安卓快速修改包名 -.- 备忘
  7. 【CEGUI】CEGUI入门篇之初始化(一)
  8. 面试7轮,结果对接的HR离职了……
  9. 跑步打卡!(2023-4-9)
  10. linux中db2创建存储过程,db2构建存储过程过程