一、基本概念
面向过程—— 以过程为中心的编程思想,即考虑目标实现的过程,按照步骤进行编程,一步一步实现目标,以为C语言为代表;
面向对象——以事物(对象)为中心的编程思想,即考虑目标实现所涉及的对象,通过对象间的相互作用来实现目标,以JAVA为代表;
二、各自特点
面向过程——它们利用函数、过程或者子程序(对数据进行部分处理的代码模块)来模拟某个参与协作的客观世界的对象,利用函数、过程或子程序之间的相互调用来模拟对象间的相互联系和相互作用,最后形成整个程序。这类语言书写的程序基本就是由一个或多个函数、过程或子程序构成。用此类程序设计语言开发程序,基本要点就是需要确定整个程序需要哪些函数、过程或子程序以及确定它们之间如何相互调用协作。简而言之,就是函数及函数间的相互作用。
面向对象——它们利用对象(一种封装了数据和数据处理的代码模块)来模拟客观世界的对象,利用对象间的相互联系和相互作用来模拟客观世界对象间的相互联系和作用。这类语言后面蕴涵的理念更贴近于现实世界,理解起来也更为自然。用此类程序设计语言开发程序,基本要点就是需要确定整个程序需要哪些对象以及确定它们之间如何相互联系和相互作用。简而言之,就是对象及对象间的相互作用。
三、优势对比
面向过程其实是最为实际的一种思考方式,它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。但是,当程序规模很大时,面向对象编程的易扩展、易维护等优势开始凸显出来。