定义
一个模板方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体行为。
意图
定义了一个操作中的一个算法框架,把一些步骤推迟到子类去实现。模板方法模式让子类不需要改变算法结构。
代码如下
abstract class Con1{
abstract void initUart();
abstract void getcomand();
abstract void opencurse();
abstract void openlight();
abstract void openTv();
public void work(){
initUart();
getcomand();
opencurse();
openlight();
openTv();
}
}
class STC15wCon 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 opencurse() {
// TODO Auto-generated method stub
System.out.println("Stc15con opencurse");
}
void openlight() {
// TODO Auto-generated method stub
System.out.println("Stc15con openlight");
}
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 opencurse() {
// TODO Auto-generated method stub
System.out.println("C51 opencurse");
}
void openlight() {
// TODO Auto-generated method stub
System.out.println("C51 openlight");
}
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();
STC15wCon s = new STC15wCon();
s.work();
}
}
运行结果


被折叠的 条评论
为什么被折叠?



