抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

1.抽象类的引出

抽象类的由来:父类方法需要声明,但不确定如何实现

  • 将方法声明为抽象abstract方法,类声明为抽象类

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

  • 当一个类中存在抽象方法时,需要将该类声明为abstract类

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

  • 抽象类一般会被继承,由子类来实现抽象方法

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

2.抽象类的细节

抽象方法没有方法体,因为不需要具体的实现
抽象类补充介绍:抽象类常存在于框架与设计模式中

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

抽象类细节1-4:

  • 抽象类不能实例化
  • 抽象类可以没有抽象方法,还可以有实现的方法
  • 当一个类中存在抽象方法时,需要将该类声明为abstract类
  • abstract只能修饰类和方法,不能修饰属性和其它

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

3.抽象类的细节2

抽象类细节5-8:

  • 所谓实现方法就是要有方法体{}

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

  • 抽象方法不能使用private,final,static修饰(这些关键字与重写相违背)

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

4.抽象类练习

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

5.抽象模板模式

抽象类的最佳实践-模板设计模式

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

初始设计:

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

将共有代码部分提出到一个新的方法中:

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

最佳实践:模板设计模式

  • 将共有代码部分提取到父类Template,父类中需要声明子类要继承的抽象方法
  • 子类继承父类,并分别实现抽象方法job(多态,每个子类完成的任务可以不同)
  • 动态绑定机制

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

父类Template代码:

抽象类abstract,最佳实践:模板设计模式_听韩顺平课笔记

上一篇:抽象类


下一篇:Abstract练习题