面向对象是相对于面向过程而言的一个概念,两者的主要区别在于解决问题的方式不同:
- 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。
- 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
面向对象开发的程序一般更易维护、易复用、易扩展。
对面向对象的理解
面向对象是相对于面向过程而言的,如果说面向过程强调的是事情的每个步骤和顺序,那么面向对象强调的是事情有哪些参与者。
面向对象的四个特性分别是:封装、继承、(抽象)、多态
- 封装:主要是对数据、属性和部分内部敏感行为进行隐藏,外界对于属性的放问和修改只能通过定义的公共方法来进行。
- 继承:在已存在的类的基础上建立新类的基础,新类的定义可以使用父类的属性和方法,也可以定义自己的属性和方法,本质上特殊一般的关系,也就是is-a的关系。
- 多态:多态是指在程序中定义的引用变量和通过该引用变量所发出的方法调用在编译期间是不确定的,只有在运行期间才能确定该引用变量到底指向哪个类的实例。