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);
}
}
根據傳入的不同處理策略,處理同一個字符串。