我们有时候会遇到像网页过滤的情况,以我们的代码来说,如原来要显示的是敏感,我们让网页显示敏感有意思吗,被就业改为就业,等等。主要体现java的多态性,及接口的用法。
1.我们首先申请一个Main类为主类,然后有个处理的Process的类,对信息进行修改
2.既然是修改,有是对各种信息的处理,所以我们可以定义一个Filter接口,并申请其他的类来实现接口即可。
代码如下:
/**
* Dqd
*/
package javaprepare1;
public class Main {
public static void main(String[] args){
String msg = "被就业,敏感";
Processor st = new Processor();
st.setMsg(msg);
String ans = st.so();
System.out.println(ans);
}
}
package javaprepare1;
public class Processor {
private String msg;
Filter[] filters = {new jiu(),new Sencitive()};
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String so(){
String r = msg;
for(Filter f : filters){
r = f.doFilter(r);
}
return r;
}
}
package javaprepare1;
public interface Filter {
String doFilter(String msg);
}
package javaprepare1;
//import com.bj.dp.filter.Filter;
public class jiu implements Filter {
@Override
public String doFilter(String msg) {
String tmp = msg.replace("被就业","就业");
return tmp;
}
}
package javaprepare1;
public class Sencitive implements Filter {
public String doFilter(String msg) {
System.out.println("heieh");
String st = msg.replace("敏感","敏感有意思吗");
return st;
}
}