美文网首页
面向过程编程和面向对象编程

面向过程编程和面向对象编程

作者: IT孤独者 | 来源:发表于2017-01-14 19:21 被阅读0次

我经常会困惑什么是面向过程编程,什么是面向对象编程。

我们首先必须有个共识,有些问题不论是采用面向过程编程的方法,还是采用面向对象编程的方法,他们的解决方式基本上相同的,针对这些问题的算法我称之为算法元过程。面向过程使用函数去实现算法元过程,面向对象使用方式去实现算法元过程。举个例子:实现一个排序算法。针对这个问题的实现就是一个算法元过程。你可以实现一个面向过程的方式,也可以实现一个面向对象的方式,然后对比这两个的算法元过程,你会发现他们没有本质的区别。

现在来说说这两种编程的方式的区别。我们先举个例子:读取一个文件,然后输出。
这个问题和上一个问题有个本质的差别,这个问题不能一次性的解决(实际的项目大部分是类似这样的问题的)。

面向过程的编程:

  1. 打开一个文件,得到一个文件标识符。
  1. 使用这个文件标识符按行读取文件。
  2. 使用文件标识符,关闭文件。
  3. 将读取的内容输出。

面向对象的编程:

  1. 生成一个对象。
  1. 使用该对象打开文件的方法。
  2. 使用该对象的读取文件的方法。
  3. 使用该对象关闭文件方法。
  4. 将读取的内容输出。

从上面的列出的步骤,我们能清楚的看到,面向过程是一个自底向上的过程,我们知道文件的读取操作必须依赖文件标识符,面向过程的思考的方式没有脱离这个基础。但是,面向对象的思考方式是自顶向下的过程,从面向对象的实现步骤中,我们只是按照某个设想去完成这件事情,但是,至于这个事情如何实现我们并没有给出具体的内容。这点我想是面向对象不同与面向过程的本质。因为有了这个特性,面向对象才有了什么封装,继承,多态等等的东西。

从上述论述中我们可以看到,面向对象的思维方式更符合人类的思维方式,我们只关心解决问题的方法和步骤,而不会去关心方法的具体实现,这样可以把我们的重心放在如何解决问题,而不是纠结如何实现的细节。不过,话说回来,如果涉及到实现的细节的时候,我们还是会回到面向过程的那一套方式,也就是说,面向过程的编程方式是面向对象编程方式的的基石。不管你怎么面向对象编程,你还是要了解如何打开一个文件,文件标识符是个什么东西,也就是说,你要想真正的完成编程的所有步骤,你需要了解尽可能多的计算机知识,用这些基础的计算机知识搭建你的面向对象的大厦。

相关文章

  • 面向对象01-面向对象编程

    面向过程与面向对象 01 面向对象编程和面向过程编程是一种编程思想,和具体的语言关系不大。 02 面向过程编程和面...

  • 理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?

    什么是面向过程编程与面向过程编程语言?面向对象编程相比面向过程编程有哪些优势?为什么说面向对象编程语言比面向过程编...

  • python面向对象1

    编程思想 编程思想:面向过程编程(穷人思想)、函数式编程、面向对象编程(富豪) 面向过程编程: 算法和逻辑 函数式...

  • ES6中的类的总结

    js常用的编程模式有面向过程编程和面向对象编程(1)面向过程编程“面向过程”(Procedure Oriented...

  • 探秘Spring AOP

    编程范式概览 主要有面向对象编程、面向过程编程、函数式编程、事件驱动编程、面向切面编程。面向过程编程是以过程为中心...

  • 为什么我们要面向接口编程?!

    到底面向?编程 面向过程编程(Procedure Oriented、简称PO) 和 面向对象编程(Object O...

  • JavaScript面向对象

    1. 面向对象编程介绍 1.1 两大编程思想 面向过程 面向对象 1.2 面向过程编程 POP(Process-o...

  • 23

    编程方法大致有三种: ——面向对象 ——面向过程 ——函数式编程 面向对象——类——class 面向过程——过程—...

  • Python面向对象编程(一)

    一、面向对象编程 1. 面向对象编程和面向过程编程的区别 面向过程编程:机械思维,简化复杂的流程,可扩展性差面向对...

  • AOP(一)---什么是AOP

    要理解AOP我们先要理解其他一些概念: 面向过程编程 面向对象编程 面向切面编程 面向过程编程OPP 面向过程的编...

网友评论

      本文标题:面向过程编程和面向对象编程

      本文链接:https://www.haomeiwen.com/subject/mgoebttx.html