package com.wangbiao.test;
/**
* 模版模式,好比一个业务的流程一样,抽象类大致的设计了流程的步骤,至于怎么去做,那个就是子类去关心的事了。
* 2013/03/29
* @author WangBiao
*
*/
public class TemplateTest {
public static void main(String[] args) {
ACome a=new ACome();
BCome b=new BCome();
//不管是哪个,都是先开门,再进入,至于你是怎么开的门,怎么进去的,那个就是子类关心的了
a.comeIn();
b.comeIn();
}
}
abstract class ComeIn {
//把模版或者流程设计好
public void comeIn() {
openDoor();
beginWalk();
}
// 开门
public abstract void openDoor();
// 开始迈入
public abstract void beginWalk();
}
class ACome extends ComeIn{
//开门
@Override
public void openDoor() {
// TODO Auto-generated method stub
System.out.println("用手打开");
}
//开始迈入
@Override
public void beginWalk() {
// TODO Auto-generated method stub
System.out.println("慢慢地走进去");
}
}
class BCome extends ComeIn{
//开门
@Override
public void openDoor() {
// TODO Auto-generated method stub
System.out.println("用脚踹开");
}
//开始迈入
@Override
public void beginWalk() {
// TODO Auto-generated method stub
System.out.println("冲进去");
}
}
转载于:https://my.oschina.net/u/617909/blog/118545