在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。
- 父类具有基本功能
- 在子类中增加新的功能
这种层次结构被称为“类的功能层次结构”。
- 父类通过声明抽象方法来定义接口(API)
- 子类通过实现具体方法来实现接口(API)
这种层次结构被称为“类的实现层次结构”。
示例
显示一些东西。
类图
Display类
1 | public class Display { |
CountDisplay类
1 | public class CountDisplay extends Display { |
DisplayImpl类
1 | public abstract class DisplayImpl { |
StringDisplayImpl类
1 | public class StringDisplayImpl extends DisplayImpl { |
Main类
1 | public class Main { |
运行结果
1 | +-------------+ |
登场角色
Abstraction(抽象化)
该角色位于“类的功能层次结构”的最上层。它使用Implementor角色的方法定义了基本的功能。该角色中保存了Implementor角色的实例。在示例程序中,由Display类扮演此角色。
RefinedAbstraction(改善后的抽象化)
在Abstraction角色的基础上增加了新功能的角色。在示例程序中,由CountDisplay类扮演此角色。
Implementor(实现者)
该角色位于“类的实现层次结构”的最上层。它定义了用于实现Abstraction角色的接口(API)的方法。在示例程序中,由DisplayImpl类扮演此角色。
ConcreteImplementor(具体实现者)
该角色负责实现Implementor角色中定义的接口(API)。在示例程序中,由StringDisplayImpl类扮演此角色。