三大特征:封装、继承、多态。

封装

把对象的属性和实现细节隐藏起来,仅对外提供公共的成员。
image.png

继承

处理实体对象的共性与个性。

多个实体对象中存在相同的属性和行为时,将这些相同的部分抽取到一个单独的类中(基类),那么每个实体对象就不需要重复定义这些属性与行为,只需要继承这个基础类型即可。

新类型也称为派生类,派生类继承基类的特征,也可以添加自己个性化的属性与方法,还可以修改继承过来的属性与方法。

image.jpeg
原型式继承,都是对象,对象连接对象。

image.png

类继承,都是抽象类型 AST,也称模板式继承。对象都是通过某个类型创建,也就是说对象拥有元数据信息,这些信息决定对象的属性与行为。

多态

多态性允许不同的实体对象对同一消息作出响应。

image.jpeg

  1. // Printer \ ColorfullPrinter \ BackAndWhitePrinter
  2. // 多态式调用
  3. Printer printerObj = null;
  4. printerObj = new ColorfullPrinter()
  5. printerObj.print()
  6. printerObj = new BackAndWhitePrinter()
  7. printerObj.print()
  8. // 正常调用
  9. ColorfullPrinter printerObj = new ColorfullPrinter()
  10. printerObj.print()
  11. BackAndWhitePrinter printerObj = new BackAndWhitePrinter()
  12. printerObj.print()