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
查看图片附件
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
查看图片附件
相关文章推荐
- 《HeadFirst设计模式》读书笔记-第8章-模板方法模式
- 设计模式读书笔记-----模板方法模式
- 《JavaScript设计模式与开发实践》读书笔记之模板方法模式
- 《HeadFirst设计模式》书摘-模板方法/模式迭代器/组合
- 《Head First设计模式》 读书笔记09 模板方法模式 The Template Method Pattern
- 读书笔记 -- 008_数据挖掘_聚类_基于层次的方法
- 《设计模式之禅》读书笔记--(5)模板方法模式
- 【读书笔记】模板方法模式(C#)
- 【设计模式】《Head First 设计模式》读书笔记——模板方法模式
- 读书笔记8:模板方法模式
- 《Android源码设计模式解析与实战》读书笔记(十五)——模板方法模式
- 模板方法模式(Head First设计模式 读书笔记)
- 设计模式读书笔记之模板方法模式
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---模板方法模式之CoffeineBeverageWithHook
- 读书笔记8:模板方法模式
- HeadFirst设计模式篇七:模板方法模式
- 读书笔记8:模板方法模式
- 【读书笔记】模板方法模式代码(C++)
- 《JavaScript设计模式》读书笔记模板方法模式