模板设计模式

/**
 * 演示模拟设计模式
 */


public class Template {


public static void main(String[] args) {
Cooker c = new GoJiCooker();
c.cook();
}
}






/**
 * 模版类
 */
abstract class Cooker{
//模版方法,不能改变的
public final void cook(){
jiancai();//捡菜
xicai();//洗菜
xiaguo();//下锅
chaocai();//炒菜
shangguo();//上锅
}
public abstract void jiancai();
public abstract void xicai();
public abstract void xiaguo();
public abstract void chaocai();
public abstract void shangguo();
}


//普通厨师
class PuTongCooker extends Cooker{


@Override
public void jiancai() {
System.out.println("普通厨师捡菜");

}


@Override
public void xicai() {
System.out.println("普通厨师洗菜");

}


@Override
public void xiaguo() {
System.out.println("普通厨师下锅");

}


@Override
public void chaocai() {
System.out.println("普通厨师炒菜");

}


@Override
public void shangguo() {
System.out.println("普通厨师上锅");

}
}




//高级厨师
class GoJiCooker extends Cooker{


@Override
public void jiancai() {
System.out.println("高级厨师捡菜");

}


@Override
public void xicai() {
System.out.println("高级厨师洗菜");

}


@Override
public void xiaguo() {
System.out.println("高级厨师下锅");

}


@Override
public void chaocai() {
System.out.println("高级厨师炒菜");

}


@Override
public void shangguo() {
System.out.println("高级厨师上锅");

}
}

阅读更多
上一篇単例模式
下一篇抽象的意义
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭