1 模板模式介绍
模板模式(Template Pattern)是一种基于代码复用的设计模式。具体实现需要架构师和开发人员之间进行合作。架构师构造好实现的流程和轮廓,开发人员则完成具体的实现过程。
父类抽象模板的作用如下:
- 定义abstract限定符方法并交由子类实现。
- 定义非private方法,延迟至子类实现,此方法也可以完成一些通用操作。
子类实现模板的作用如下: - 实现父类abstract方法。
-
可以重写父类非private方法。
模板模式的静态结构如图所示:
1.png
2 模板模式实现
以汽车为例,先定义一个汽车抽象类:
public abstract class Car {
void startUp() {
System.out.println("启动!");
}
abstract void move();//强制要求实现7.
void stop() {
System.out.println("熄火!");
}
public final void operation() {//定义成 final, 防止被重写
// 第一步:启动
startUp();
//第二步:驾驶
move();
//第三步:停止
stop();
}
}
上面定义了一个方法operation,里面有3个方法,其中move方法是交由子类实现的。而且为了operation类不被重写,我们把它定义成了final类型。
接下来定义两个汽车的实体类:
public class BMW extends Car {
@Override
void move() {
System.out.println("BMW烧汽油动起来了");
}
}
public class Benz extends Car {
@Override
void move() {
System.out.println("Benz靠电动起来了");
}
}
使用方式:
Car bmw = new BMW();
bmw.move();
Car benz=new Benz();
benz.move();
网友评论