一:基础概念

1.1 面向过程

“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。简写为POP。

1.2 面向对象

面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的行为。

1.3 基于对象

基于对象的编程语言没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统,以供使用。

二:三者对比对比

面向过程

面向对象

基于对象

产生时间

1965

1967

-

代表语言

C

C++,JAVA

BASIC(VB4-VB6)

基本特征

自顶向下,逐步求精

抽象、封装、继承、多态

封装

性能


较差

较好

维护难度

巨大

容易

较大

适用程序

一般用于小型

大型

-

三:具体例子

有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭

盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。

用软件工程的专业术语就是“可维护性”比较好,“饭”和“菜”的耦合度比较低。

蛋炒饭将“蛋”“饭”搅和在一起,想换“蛋”“饭”中任何一种都很困难,耦合度很高,以至于“可维护性”比较差。

面向过程、基于对象、面向对象、分析_编程思想