面向对象的三大特征:封装、继承、多态。
1、封装
概念:
每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装。 对象不必依赖其他对象来完成自己的操作。
优点:
良好的封装能够减少耦合
类内部的实现可以自由地修改
类具有清晰的对外接口
2、继承
概念:
对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为B是A,则表明B可以继承A。
特点:
如果子类继承父类,
第一,子类拥有父类非private的属性和功能
第二,子类具有自己的属性和功能(子类可以扩展父类没有的属性和功能)
第三,子类还可以以自己的方式实现父类的功能(方法重写)
优点:
继承使得所有子类公共的部分都放在了父类,使得代码得到了共享,这就避免了重复
继承可使得修改或扩展继承而来的实现都较为容易
3、多态
概念:
接口的多种不同实现方式为多态
多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行
特点:
子类以父类的身份出现
子类在工作时以自己的方式来实现
子类以父类身份出现时,子类特有的属性和方法不可以使用
修饰
父类中:virtual;表示方法是虚方法,可被子类重写
子类中:override;表示方法重写
优点:
提高代码的维护性
提高代码的扩展性
总结
封装就是一个个类
继承就是把共同的抽象出来,放在父类,让子类继承,实现代码的重用
多态就是同一个东西不同的形式呈现
继承是建立在封装的基础上,多态是建立在继承的基础上