一、什么是面向对象
面向对象的程序是由对象组成,每个对象包含对用户公开的特定功能部分和隐藏的实现部分
二、面向对象与面向过程的区别
面向对象更注重对象,更加的抽象、不易理解,但是复用性更强
面向过程更注重过程,更具体,更高效,但是性能低,复用性弱
比如针对洗衣这件事
面向过程:把衣服–放水—放洗衣粉—晾衣
面向对象:洗衣机:洗衣
人:放衣服、放水、放洗衣粉、晾衣
三、面向对象的特性
- 封装 :对客观的事情进行描述,其中不给别的对象访问的私有化,可以放开给别的对象使用或者查看的公有化。通俗的来说就是对属性私有化,对某些方法公有化。
封装的目的是提高安全性和简化流程,使用者不必了解具体的细节,只需要调用外部接口访问类成员 - 继承 :子类继承父类的属性和行为,父类又可称为超类、基类。子类又可称为派生类。子类继承父类,子类变具有父类的特征。关键词是extends。
is是继承的一个显著特征,比如树木与植物的关系,树木便可继承植物的特征 - 多态:同一个行为具有多个不同表现形式或形态的能力。是同一个接口,使用不同的实例而执行不同操作
like是多态的一个显著特征,比如动物具有发出声音的行为,但是猫发出声音是喵,而狗发出声音则是汪。
多态存在的必要条件:继承、重写、父类指向子类