面向过程与面向对象——编程思想的演变
编程语言从无到有,据维基百科统计,至今为止有600多种。如此众多语言,需要逐个学习吗?实际上编程语言都是相通的,编程语言只需要精通一门即可,其他都能融会贯通。比如Java与C++就差不多,Java和C#也差不多。他们本质都是面向对象的思想。如果掌握其中一种,基本上一通百通。说到编程,有这样一个公式,程序设计=算法+数据结构+程序设计方法+语言、工具和环境。这个公式道出了编程的真谛。算法、数据结构是编程的基础,程序设计方法,也就是我们常说的编程思想是程序设计的核心,这些都是所有程序的共性。
语言只不过是语法上的一种规定罢了。那么,何为编程思想,简单地说,就是用计算机来解决人们实际问题的思维方式。编程语言逐步发展变化,编程思想也在跟着逐步演变,从开始的面向过程到面向对象,再到面向服务架构、面向方向等编程思想。新的思想层出不穷,在这里,我们重点说明面向过程与面向对象两个编程思想。何为面向过程?我们通常称面向过程,为传统的程序设计,它是一种以事件为中心的编程思想。具体地说,就是列出解决问题所需要的步骤,然后一步步实现。面向过程的程序设计,主要围绕设计解题过程来进行,将问题分解成多个步骤,自顶向下,逐步求精。
举个生活中的例子,如何把大象放进冰箱里。这个任务确定需要三个步骤来解决。1、把冰箱打开,2、把大象装进去,3、把冰箱门关上,每一个过程都有阶段性的目标,把冰箱打开,打开后得到的是冰箱。把大象装进去,开门后得到的是里面装好大象的冰箱。把门关上,打开门,装好大象,获得关好门的冰箱。依次完成这些过程,就能把大象装进冰箱里。面向对象是把构成问题的事务分解成各个对象。建立对象的目的不是为了完成一个步骤,而是为了叙述某个事物在整个解决问题步骤当中的行为。简单地说,就是构造一个对象模型。将数据与方法组织在一起,那么,将上述的案例用面向对象的思想实现一下,就是这样一个流程。为了把大象装入冰箱,需要做三个动作,或者是叫做行为,每个动作有一个执行者。他就是对象。冰箱就是一个对象。具体的三个步骤。1、冰箱你给我把门打开,2、冰箱你给我把大象装进去。3、冰箱你给我把门关上。依次做这些动作,就能把大象装入冰箱里。面向对象是一个模型化的,你只需要抽象出一个类。比如本例中的冰箱,而冰箱怎么开门,冰箱怎么装大象。冰箱怎么关门等功能封装在冰箱的实际方法当中。
从这个例子当中,我们可以看出,面向过程是具体化、流程化的,解决一个问题,你需要一步一步的分析,一步步的实现。但设计人员只考虑实现客户的需求,不考虑以后的扩展。一旦客户的需求有变化,那么需要修改的代码量就很大,耗时耗力。而面向对象的程序设计,许许多多东西都是独立的。强调的是对象的重复使用,数据和数据相关的操作被包装成对象,每个对象是完整独立的。一个对象做好一件事情,对象内部的细节,外面世界不关心也看不到。同时,不同种类的对象之间的依赖性降低,这将降低程序之间的耦合性。而所有的这些都有助于达成一个崇高的目标,就是可重用性。实际上,面向对象是在面向过程的基础上,两种思想不是非彼即此的对立关系。不能说面向对象取代了面向过程,如果用面向对象,就要把一个软件任务划分成两个层次。那么,面向对象是解决第一层次的问题,面向过程是解决第二层次的问题。只有两个层次上的任务都完成之后,才能说完成了整个程序的设计任务。
面向过程与面向对象——编程思想的演变相关推荐
- 从面向过程到面向对象编程的思想转变
项目的需求,要实现一个功能:更新表中若干行的部分列数据.Are you 明白大概要实现什么功能了吗? 嗯,我知道你明白了.那就接着往下看把. 遇到这样的问题,我相信很多人首先想到的方法是直接使用upd ...
- 面向过程与面向对象编程的区别和优缺点
■面向过程与面向对象编程的区别 转载至:https://www.cnblogs.com/strivers/p/6681876.html 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步 ...
- 面向过程和面向对象编程的优缺点
[1]面向过程和面向对象的比较 网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂. 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的 ...
- 深入理解面向过程与面向对象的思想差异与各自特色
一.什么是面向过程 面向过程是一种思维方式.当试图通过面向过程解决问题时,我们的关注点在于问题解决的流程,重在这个过程的控制,需要用大量的模块(模块化的思想源自于硬件,在C语言中是函数)将大问题拆解, ...
- 面向过程与面向对象编程实例
题目:要求输入两个数和运算符号,得到结果. 1. 面向过程编程 #include <iostream> using namespace std;float operationFun(flo ...
- 面向过程编程思想和面向对象编程思想
一.面向过程编程思想 百度百科这样解释: "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想. 面向过程其实是最为实际的一种思考方式,就算是面向对象的 ...
- 面向过程和面向对象的编程思想 复习原型 构造函数和实例对象和原型对象之间的关系
体会面向过程和面向对象的编程思想 <!DOCTYPE html> <html lang="en"> <head><meta charset ...
- 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载
1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...
- (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象
函数作用域 ? 1 2 3 4 5 6 7 8 9 10 def first(): name = 'Wangben' def second(): name = 'Men ...
最新文章
- 到底是什么特征影响着CNN的性能?
- VTK:图像索贝尔Sobel用法实战
- 计算机hub体系部件,原来如此!USB Hub接口为啥都是4个7个或10个?
- ARP-Address Resolution Protocol-地址解析协议
- 【计算机网络】—— 差错控制(检错编码)
- Java API下载和查阅方法
- 如何减少silverlight XAP包的尺寸
- MySQL 8.0查找my.ini文件位于C:\ProgramData\MySQL\MySQL Server 8.0
- 数据挖掘常用聚类算法性能比较
- 内存调试工具Electric Fence
- 高斯光束matlab传输,高斯光束传播matlab
- VL2 异步复位的串联T触发器
- windows平台简单的FTP服务器,无需安装
- linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份
- 打印机不打印计算机原因,打印机打印不完整?是这10个原因造成的!打印必备...
- linux创建ps格式文件怎么打开,ps文件扩展名,ps文件怎么打开?
- 计算机功能及部件ppt,《计算机逻辑部件》PPT课件.ppt
- 面向对象与面向过程理解
- iOS 即时视频和聊天(基于环信)
- shell学习-基础篇