您的位置:首页 > 其它

HeadFirst设计模式_读书笔记_008_模板方法

2017-04-11 10:24 218 查看
模板方法模式:在一个方法中定义了一个算法的骨架,而将实现延迟到子类中。模板方法使得子类在不改变算法结构的同时提供自己的特定实现。



 public abstract class Templet {

public void prepareDinner()
{
buyGroceries();
washgroceries();
choppingVegetables();
cook();
}

abstract void buyGroceries();

public void washgroceries()
{
System.out.println("洗菜了~~");
}

public void choppingVegetables()
{
System.out.println("切菜了~~");
}

abstract void cook();
} public class Fish extends Templet{

@Override
void buyGroceries() {
System.out.println("买了一条大活鱼");
}

@Override
void cook() {
System.out.println("鲫鱼豆腐汤出锅啦!!");
}

} public class Beef extends Templet{

@Override
void buyGroceries() {
System.out.println("一斤牛肉,两斤青椒");
}

@Override
void cook() {
System.out.println("好大一盘青椒牛肉啊~~");
}

} Templet类里面定义了一个做菜的算法,步骤就是1.买菜 2.洗菜 3.切菜 4.炒菜 默认2,3两个步骤是可以共享的,反正所有的菜都是用水洗用刀切嘛~~ 1,4在模板类里面提供的是抽象的方法,具体买什么菜,怎么做得有具体的菜式决定。



大小: 3.2 KB
查看图片附件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: