面向对象是一种“万物皆对象”的编程思想。在现实生活中的任务物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象是以对象为中心,以消息为驱动,所以程序=对象+消息。
面向对象有三大特性:封装、继承和多态。
封装:就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。
继承:则是进一步将一类事物共有属性和行为抽象成一个父类,而每一个子类又是特殊的父类--有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性。
多态:如果说封装和继承是为了提高代码的复用性,那么多态则是为了实现接口的重用。多态的一大作用就是为了解耦--为了解除父子类继承的耦合度。