面向过程和面向对象的区别? 及面向对象三大特征 java
面向过程
一种较早的编程思想,顾名思义该思想是站在过程的角度思考问题,强调的是我该怎么去做。即功能的执行过程,即先干啥,后干啥。
面向过程思想中函数是一等公民,每个函数负责完成某一个功能,用以接受输入数据,函数对输入数据进行处理,然后输出结果数据。
而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现,使用的时候依次调用函数就可以了。
面向过程的设计思想,系统软件适应性差,可拓展性差,维护性低。
面向对象
一种基于面向过程的新的编程思想,顾名思义该思想是站在对象的角度思考问题,我们把多个功能合理的放到不同对象里,强调的是我该让谁来做。
面向对象最小的程序单元是类,必须先存在类的定义,再有对象,而具备某种功能的实体,称为对象。
举个例子,小明完成买菜,做菜,吃饭,洗完,写代码功能。
大家一起来看看有对象和没对象的区别:
左图是没有对象的,右图是有对象的。区分面向过程的我该怎么做和面向对象的我该让谁来做的思想。
面向过程和面向对象各有千秋,面向对象更符合我们常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性,它拥有三大特征:
-
封装(Encapsulation)
-
继承(Inheritance)
-
多态(Polymorphism)