java 策略模式

public class processor {
	public String name(){
		return getClass().getName().toString();
	}
	public Object process(Object input){
		return input.toString();
	}
}

public class upCase extends processor{
	public String process(Object input){
		return ((String)input).toUpperCase();
	}
}

public class litterCase extends processor{
	public String process(Object input){
		return ((String)input).toLowerCase();
	}
}


public class Main {
	
	
	public static void cl(processor p,String name){
		System.out.println("name="+name+" p="+p.process(name));
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s = "kdfjkdjfSSKKDFJ";
			cl(new upCase(),s);
			cl(new litterCase(),s);
	}

}
根據傳入的不同處理策略,處理同一個字符串。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章