首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >第八章 设计模式

第八章 设计模式

作者头像
司六米希
发布2022-11-15 18:57:54
发布2022-11-15 18:57:54
2090
举报
文章被收录于专栏:司六米希司六米希

p122-(1) Application.java

代码语言:javascript
复制
public class Application {
public static void main(String argv[]) {
	 	GetShow k=new GetShow();
	 	
	    k.setStrategy(new ConcreteStrategyA());
	 	A a=new A();
	 	a.settype("策略1:从a到z打印\n");
	 	System.out.printf("%s",a.gettype());
	 	k.getshow();
	 	
	 	
	    k.setStrategy(new ConcreteStrategyB());
	 	A b=new A();
	 	b.settype("\n策略2:从a到z打印\n");
	 	System.out.printf("%s",b.gettype());
	 	k.getshow();
	 	
	 	 k.setStrategy(new ConcreteStrategyC());
		 A c=new A();
		 c.settype("\n策略3:大写字母从a到z打印\n");
		 System.out.printf("%s",c.gettype());
		 k.getshow();
	
}
}
class A{
	String type;
	public void settype(String s) {
		type=s;
	}
	public String gettype() {
		return type;
		
	}
}//此类可无,不重要

ConcreteStrategyA.java

代码语言:javascript
复制
public  class ConcreteStrategyA implements Strategy{
	public void show() {
	       char cStart='a',cEnd='z';
	         for(char c=cStart;c<=cEnd;c++){
	           System.out.print(" "+c);
	         }}
}

ConcreteStrategyB.java

代码语言:javascript
复制
public class ConcreteStrategyB implements Strategy {
	public void show() {
	       char cStart='z',cEnd='a';
	         for(char c=cStart;c>=cEnd;c--){
	           System.out.print(" "+c);
	         }}
}

ConcreteStrategyC.java

代码语言:javascript
复制
public class ConcreteStrategyC implements Strategy {
	public void show() {
		for(int i = 1;i<=26;i++){
	         System.out.print(Character.toUpperCase((char)(96+i)));//大写
	      }	
	}
}

GetShow.java

代码语言:javascript
复制
public class GetShow {
    Strategy strategy;
    public void setStrategy(Strategy strategy) {
    	this.strategy=strategy;
    }
    public void getshow() {
    strategy.show();//直接调用即可,书上的通过return
    	}
	}

Strategy.java

代码语言:javascript
复制
public interface Strategy {
 public void show();
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档