1、面向对象是一种程序的设计方法,但是并不表示世界所有的开发者都认同面向对象。因为有很多的开发者认为面向对象过于复杂,所以更多的人愿意使用函数式编程。
2、面向对象的前身属于面向过程,如果想要笼统的解释这两者开发模型的区别,最好的例子:面向过程是解决问题,而面向对象是模块化设计。
面向过程只是解决当前的需求问题、特定的问题,它不能解决需求化。
自己根据自己的需求造的车,别人无法帮你修。
对于我们现在的程序开发更多情况下就像是汽车组装一样,不同的工厂生产不同的配件。将所有的零件组装在一起,就可以形成一辆汽车,并且当我们的一个零件坏掉的时候还可以进行配装。
面向过程缺少了这种可重复性设计,而面向对象具备了这种可重复性设计。
面向对象的操作特点:
1、封装性:内部的操作对外部而言不可见;做保护。
2、继承性:在上一辈的基础上进一步发展;(不能每一代人从猴再开始发展吧,一代比一代聪明)
3、多态性:这是一个最为重要的环节,利用多态性才可以得到良好的设计。它是一个在可控范围内的状态改变。
一旦有了继承性就有了重用型设计。
一旦有了多态性你就会得到一个更好的设计方案。
那么在进行面向对象开发的时候有三个阶段:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。
所有的程序开发原则都离不开实际生活。如果从程序的开发角度来讲,面向对象给我们最大的一个特征:可以进行生活的抽象。
在整个java里面,我们不能只考虑面向对象本身,还应该更多的考虑是它的内存的分配问题,这个才是核心所在。