面向过程是什么:按照我们生活中就是把一个问题细细的分析,根据分析的步骤再一步一步的执行,而在java代码中,就是老板给我们一个需求,一个问题,我们根据问题进行分析然后写出一个一个方法,然后我们在根据实际情况来一步一步的调用这些方法,最简单的例子就是把大象塞进冰箱里,得先打开冰箱吧,如果大象太大,那是不是也得剁成块呀,然后再把大象放进去,这就是面向过程。
面向对象是什么: 也可以根据生活来推断,我们根据问题进行分析,把构成问题的事务都分解成各个对象,然后通过这些对象分析出它在这个问题中的某个步骤里的行为,听起来确实会有点绕哈,我们在用java代码中来分析这些事情,就还是那个sb老板,他给我们一个需求,这个需求里可能会需要一个狗的实体类,当然猫类也行,而狗有哪些行为呢,叫,吃,拉等等,而这个需求就是需要狗在叫这个行为,那我们就需要用到狗类来获取到他的行为,当然这里用面向过程来写会简单,但如果需求复杂,狗是什么毛发,什么品种,怎么叫等等的业务都要表达出呢,面向过程就无法满足我们的需求量了。生活中的例子就是大象放入冰箱,得有冰箱,什么类型的,得有大象,然后怎么放。
区别:因此,对于规模较小的问题,面向过程比较简单,而面向对象更加适用于解决规模较大的问题。
面向对象的程序单位是类,面向过程的程序单位是方法,一个是抽象的一个是具体
面向对象程序设计(OOP)需要清楚对象的三个主要特性:
1、对象的行为-----可以对对象施加哪些操作,或可以对对象施加哪些方法?
2、对象的状态-----当施加那些方法时,对象如何响应?
3、对象标识--------如何辨别具有相同行为与状态的不同对象?