抽象父类定义了一个final算法(内部调用了各个抽象方法),子类通过通过继承实现了这些细节方法。
应用场景
- 生活中的例子面试流程公司有电话面试、笔试、面试,最后下发offer,每个公司的流程是一样的,但是各个步骤的细节由不同的公司决定。
优点
提供了一个框架,可以让新加入的子类只关注细节实现,框架的算法只由公共类管理。
缺点
每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
具体实现代码
面试模板.java
阿里巴巴.java
XYZ公司.java
测试类 Test.java
输出结果:
读后感笔记来自[美] 弗里曼 的《Head First 设计模式(中文版)》