设计模式2模板模式吃甜还是吃咸

编程

摸版通俗的意思就是用于复制,在代码的世界中就是重用。想下如果一段代码里面有许多公用的代码,但是又要适用与不同条件。你是不是还在不停的使用IF ELSE 呢?今天的模板模式会告诉你一种全新的解决方案。

2、南北汤圆,吃咸还是甜

煮汤圆的大致步骤 1煮开水,2下汤圆,3放糖还是放盐。我们发现前2步是共用的,南北方的小伙伴都是这样子做的。那么第3放糖还是放盐,除了if else 我们应该怎么处理呢?

2、编写父类abstract

public abstract class  TangYuan {

private void boil(){

System.out.println("水开了");

}

private void tangYuan(){

System.out.println("放汤圆");

}

//控制下盐还是糖

public void saltOrSugar(){

System.out.println("放盐");

}

//烹饪

public void cook(){

boil();

tangYuan();

saltOrSugar();

}

}

3、编写子类放糖

public class SugarTangYuan  extends  TangYuan{

@Override

public void saltOrSugar(){

System.out.println("放糖");

}

}

4、编写子类放盐

public class SaltTangYuan extends  TangYuan{

@Override

public void saltOrSugar(){

System.out.println("放盐");

}

}

5、编写测试

 

public class Test {

public static void main(String[] args) {

SaltTangYuan saltTangYuan =new SaltTangYuan();

SugarTangYuan sugarTangYuan =new SugarTangYuan();

saltTangYuan.cook();

sugarTangYuan.cook();

}

}

6、执行结果

水开了
放汤圆
放盐
水开了
放汤圆
放糖
 

那么2种不同的做法就做完了,要吃什么味道的,就new什么汤圆就可以了。

以上是 设计模式2模板模式吃甜还是吃咸 的全部内容, 来源链接: utcz.com/z/515192.html

回到顶部