编程语言从无到有,据维基百科统计,至今为止有600多种。如此众多语言,需要逐个学习吗?实际上编程语言都是相通的,编程语言只需要精通一门即可,其他都能融会贯通。比如Java与C++就差不多,Java和C#也差不多。他们本质都是面向对象的思想。如果掌握其中一种,基本上一通百通。说到编程,有这样一个公式,程序设计=算法+数据结构+程序设计方法+语言、工具和环境。这个公式道出了编程的真谛。算法、数据结构是编程的基础,程序设计方法,也就是我们常说的编程思想是程序设计的核心,这些都是所有程序的共性。

语言只不过是语法上的一种规定罢了。那么,何为编程思想,简单地说,就是用计算机来解决人们实际问题的思维方式。编程语言逐步发展变化,编程思想也在跟着逐步演变,从开始的面向过程到面向对象,再到面向服务架构、面向方向等编程思想。新的思想层出不穷,在这里,我们重点说明面向过程与面向对象两个编程思想。何为面向过程?我们通常称面向过程,为传统的程序设计,它是一种以事件为中心的编程思想。具体地说,就是列出解决问题所需要的步骤,然后一步步实现。面向过程的程序设计,主要围绕设计解题过程来进行,将问题分解成多个步骤,自顶向下,逐步求精。

举个生活中的例子,如何把大象放进冰箱里。这个任务确定需要三个步骤来解决。1、把冰箱打开,2、把大象装进去,3、把冰箱门关上,每一个过程都有阶段性的目标,把冰箱打开,打开后得到的是冰箱。把大象装进去,开门后得到的是里面装好大象的冰箱。把门关上,打开门,装好大象,获得关好门的冰箱。依次完成这些过程,就能把大象装进冰箱里。面向对象是把构成问题的事务分解成各个对象。建立对象的目的不是为了完成一个步骤,而是为了叙述某个事物在整个解决问题步骤当中的行为。简单地说,就是构造一个对象模型。将数据与方法组织在一起,那么,将上述的案例用面向对象的思想实现一下,就是这样一个流程。为了把大象装入冰箱,需要做三个动作,或者是叫做行为,每个动作有一个执行者。他就是对象。冰箱就是一个对象。具体的三个步骤。1、冰箱你给我把门打开,2、冰箱你给我把大象装进去。3、冰箱你给我把门关上。依次做这些动作,就能把大象装入冰箱里。面向对象是一个模型化的,你只需要抽象出一个类。比如本例中的冰箱,而冰箱怎么开门,冰箱怎么装大象。冰箱怎么关门等功能封装在冰箱的实际方法当中。

从这个例子当中,我们可以看出,面向过程是具体化、流程化的,解决一个问题,你需要一步一步的分析,一步步的实现。但设计人员只考虑实现客户的需求,不考虑以后的扩展。一旦客户的需求有变化,那么需要修改的代码量就很大,耗时耗力。而面向对象的程序设计,许许多多东西都是独立的。强调的是对象的重复使用,数据和数据相关的操作被包装成对象,每个对象是完整独立的。一个对象做好一件事情,对象内部的细节,外面世界不关心也看不到。同时,不同种类的对象之间的依赖性降低,这将降低程序之间的耦合性。而所有的这些都有助于达成一个崇高的目标,就是可重用性。实际上,面向对象是在面向过程的基础上,两种思想不是非彼即此的对立关系。不能说面向对象取代了面向过程,如果用面向对象,就要把一个软件任务划分成两个层次。那么,面向对象是解决第一层次的问题,面向过程是解决第二层次的问题。只有两个层次上的任务都完成之后,才能说完成了整个程序的设计任务。

面向过程与面向对象——编程思想的演变相关推荐

  1. 从面向过程到面向对象编程的思想转变

    项目的需求,要实现一个功能:更新表中若干行的部分列数据.Are you 明白大概要实现什么功能了吗? 嗯,我知道你明白了.那就接着往下看把. 遇到这样的问题,我相信很多人首先想到的方法是直接使用upd ...

  2. 面向过程与面向对象编程的区别和优缺点

    ■面向过程与面向对象编程的区别 转载至:https://www.cnblogs.com/strivers/p/6681876.html 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步 ...

  3. 面向过程和面向对象编程的优缺点

    [1]面向过程和面向对象的比较 网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂. 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的 ...

  4. 深入理解面向过程与面向对象的思想差异与各自特色

    一.什么是面向过程 面向过程是一种思维方式.当试图通过面向过程解决问题时,我们的关注点在于问题解决的流程,重在这个过程的控制,需要用大量的模块(模块化的思想源自于硬件,在C语言中是函数)将大问题拆解, ...

  5. 面向过程与面向对象编程实例

    题目:要求输入两个数和运算符号,得到结果. 1. 面向过程编程 #include <iostream> using namespace std;float operationFun(flo ...

  6. 面向过程编程思想和面向对象编程思想

    一.面向过程编程思想 百度百科这样解释: "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想. 面向过程其实是最为实际的一种思考方式,就算是面向对象的 ...

  7. 面向过程和面向对象的编程思想 复习原型 构造函数和实例对象和原型对象之间的关系

    体会面向过程和面向对象的编程思想 <!DOCTYPE html> <html lang="en"> <head><meta charset ...

  8. 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载

    1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...

  9. (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象

    函数作用域 ? 1 2 3 4 5 6 7 8 9 10 def first():     name = 'Wangben'     def second():         name = 'Men ...

最新文章

  1. 到底是什么特征影响着CNN的性能?
  2. VTK:图像索贝尔Sobel用法实战
  3. 计算机hub体系部件,原来如此!USB Hub接口为啥都是4个7个或10个?
  4. ARP-Address Resolution Protocol-地址解析协议
  5. 【计算机网络】—— 差错控制(检错编码)
  6. Java API下载和查阅方法
  7. 如何减少silverlight XAP包的尺寸
  8. MySQL 8.0查找my.ini文件位于C:\ProgramData\MySQL\MySQL Server 8.0
  9. 数据挖掘常用聚类算法性能比较
  10. 内存调试工具Electric Fence
  11. 高斯光束matlab传输,高斯光束传播matlab
  12. VL2 异步复位的串联T触发器
  13. windows平台简单的FTP服务器,无需安装
  14. linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份
  15. 打印机不打印计算机原因,打印机打印不完整?是这10个原因造成的!打印必备...
  16. linux创建ps格式文件怎么打开,ps文件扩展名,ps文件怎么打开?
  17. 计算机功能及部件ppt,《计算机逻辑部件》PPT课件.ppt
  18. 面向对象与面向过程理解
  19. iOS 即时视频和聊天(基于环信)
  20. shell学习-基础篇

热门文章

  1. 不要总是想着“我以为”
  2. 完全免费的基于区块链和 IPFS 的去中心化博客平台
  3. 在Linux基于Keepalived搭建LVS实现高可用负载均衡
  4. 搞一个远程服务器,环境一步步的搭建之一 远程桌面登录
  5. Linux内核4.14版本——DMA Engine框架分析(6)-实战(测试dma驱动)
  6. SSnoCD (之一)
  7. mkfifo函数使用
  8. js判断是否为微信浏览器(vue、react)
  9. 公元前到现在的所有朝代
  10. Chrome 截图页面全图