一、编程思想不同
1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。
2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。
二、特点不同
1、面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
2、面向对象语言:识认性,系统中的基本构件可识认为一组可识别的离散对象,对象具有唯一的静态类型和多个可能的动态类型,在基本层次关系的不同类中共享数据和操作。
三、优势不同
1、面向过程:不支持丰富的“面向对象”特性(比如继承、多态),并且不允许混合持久化状态和域逻辑。
2、面向对象语言:在内部被表示为一个指向一组属性的指针。任何对这个对象的操作都会经过这个指针操作对象的属性和方法。
参考资料来源:百度百科-面向对象语言
参考资料来源:百度百科-面向过程
C,fortran等较早的高级语言因为应用环境简单,系统规模较小采取的是面向过程的思路。
总体来说你首先思考的是该干什么,关键字是动词。比如起床、刷牙,吃饭,然后上班。
之后随着系统复杂性提高,C++,java等高级语言,采取了面向对象的思路。
总体来说你首先思考由谁去干,关键字是名词。比如我的生活。然后我具有一些属性,比如能够睡觉,能够清洁,需要饮食,需要工作。之后去调用。我.起床,我.刷牙。
你也可以看出来,这个过程并不是对立的。在面向对象的思路中依然会需要面向过程的思路解决局部问题。不过他可以更好地重用代码。
此外还有lisp等用于工业设计语言的功能型编程范式。究竟采取哪种范式来编程看你解决问题的规模和需求。
面向对象的特点是:封装,多态,继承。其中多态有分为重载和重写。面向对象的编程思想更加接近现实的事物。
有这样几点好处:
1、是编程更加容易。因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象。
2、在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。
3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则。也使代码更易阅读。
相对而言,面向过程的程序设计是面向对象程序设计的基础。面向对象的程序里面一定会有面向过程的程序片断的!
简单的说一下吧
如果你要做个航空系统的网站,如乘客这里,用面向对象的思想,你把所有乘客的属性,方法等全部写出来,不管项目是否需要这些功能。
而面向过程是你想到哪里属性方法就写哪些。
当你这个项目需要加一些乘客的功能的时候,如果是用面向对象的思想的话,那么直接在那个功能里面写代码就是了,而面向过程的话则需要重新写,这样一来麻烦很多。不能体现程序本身的一些重用,封装等等性能。
面向过程的代码实现要比面向对象的快很多,因为他是想到什么就写什么~
懂一些没?