一、概念
定义
一个模板方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体行为
意图
定义了一个操作中的一个算法框架,把一些步骤推迟到子类去实现。模板方法模式让子类不需要改变算法结构
二、代码实现
//抽象类,模板
abstract class Con1{
abstract void initUart();
abstract void getcomand();
abstract void openTV();
//实现功能流程
public void work(){
initUart();
getcomand();
openTV();
}
}
//子类,继承模板类
class Stc15con extends Con1{
void initUart() {
// TODO Auto-generated method stub
System.out.println("Stc15con initUart");
}
void getcomand() {
// TODO Auto-generated method stub
System.out.println("Stc15con getcomand");
}
void openTV() {
// TODO Auto-generated method stub
System.out.println("Stc15con openTV");
}
}
//子类,继承模板类
class C51con extends Con1{
void initUart() {
// TODO Auto-generated method stub
System.out.println("C51 initUart");
}
void getcomand() {
// TODO Auto-generated method stub
System.out.println("C51 getcomand");
}
void openTV() {
// TODO Auto-generated method stub
System.out.println("C51 openTV");
}
}
public class Test {
public static void main(String[] args) {
C51con c = new C51con(); //实例化
c.work();
Stc15con s = new Stc15con();
s.work();
}
}
/*
C51 initUart
C51 getcomand
C51 openTV
Stc15con initUart
Stc15con getcomand
Stc15con openTV
*/