一、面向对象编程(OOP,Object Oriented Programming):
不必关心对象的具体实现,只需要能够满足用户的需求即可。主要以类或者对象为组织代码的基本单元。
对象的三个主要的特性:
1、对象的行为:可以对对象施加哪些操作,或者是对对象施加哪些方法。
2、对象的状态:施加方法时,对象如何回应。
3、对象的标识:如何判断具有向共同行为与状态的不同对象。
好处之一:可以让用户自定义Java类变得轻而易举。
二、面向过程编程:
过程是指解决问题的步骤:也就是先干什么,再干什么,然后再干什么【流程化作业】。
主要以“过程”作为组织代码的基本单元,属于一种流程话的编程风格,通过拼接一组顺序执行的方法,来操作数据完成这一项工作。
主要是数据与方法分离。猜测:可以先有方法,再有数据。最大的特点就是不支持类和对象。没有丰富的面向对象编程特征(继承、多态、封装)。
三、面向对象编程相比较面向过程编程的好处?
1、OOP 更加能够应对大规模复杂程序的开发
2、OOP 风格的代码更易复用、易扩展、易维护
3、OOP 风格的代码更易复用、易扩展、易维护
四、常见的面向过程编程?
1、滥用getter、setter方法。
2、滥用全局变量、全局方法。
代码中的配置参数一般设置为常量,放到某一个类中。静态方法将方法和数据分离,破坏了封装的特性,典型的面向过程风格。
3、定义数据和方法分离。
MVC三层结构包括了Model层、Controller层、View层,每一层都有自己固定的作用。并且在某一种程度下固定了编码的书写过程。是一种典型的面向过程编码的方式。当然了这种开发模式被人戏称为“基于贫血模型的开发模式”。
五、为什么明明知道面向对象编程与面向过程编程的区别,但还是容易写出面向过程风格的代码?????
在OOP类的设计中需要技巧和设计经验,思考如何封装合适的数据和方法到一个类里。
面向过程编程往往更加符合人的流程化思维方式,比如:在生活中完成一个任务,通常更思考完成任务第一步需要干什么、第二步需要干什么。但是面向对象编程恰恰相反。它是一种自底向上的思考方式。先将任务翻译为一个一个模块,最后按照流程将类组装起来,完成整个任务。
标签:对象,编程,面向,面向对象编程,过程,OOP From: https://www.cnblogs.com/kuangmeng/p/17492300.html