## Java核心思想之面向对象
1.面向过程和面向对象的思想
面向过程(procedure oriented programming 缩写 POP)和面向对象(object oriented programming 缩写 OOP)是实际编程中两种应用比较广泛的思想。虽然都是程序设计的一种思想,但面向过程注重的是通过代码一步一步实现业务逻辑,面向对象更注重的是将变成过程中的属性和方法分离,使用构造函数创建相应的对象,并且通过对象调用方法实现相应功能的编程业务逻辑。
面向过程的语言(如:C语言,Pascal语言等)的程序设计采用的是过程抽象。所谓面向过程,指的是当求解一个问题时,面向过程的程序设计是将一个复杂的问题分解成为多个子问题,如果子问题仍然比较复杂,可再分解为多个子问题,形成层状结构。每一个问题就是一个子过程,高层的过程可以将它下一层中的过程当作抽象操作来使用,而不考虑它下层过程的实现方法。最后,从底层的问题逐个求解,合并形成原问题的解。
然而,面向过程只关注操作,没有把操作和被操作的数据作为一个整体来看待,存在一定的弊端。
在面向对象的程序设计中,客观世界中的事物映射为对象。对象是面向对象程序设计中用来描述客观事物的基本单位。客观世界中的许多对象,无论其属性还是其行为常常有许多共同性,抽象出这些对象的共同性便可以构成类。所以,类是对象的抽象和归纳,对象时类的实例。面向对象强调把数据和操作结合为一个不可分割的系统