//VIP用户,具体元素public class UserVIP implements User{ String estimation; public UserVIP(String estimation){ this.estimation = estimation; } @Override public void accept(Visitor visitor) { visitor.visit(this); } String getEstimation(){ return estimation; }}
抽象访问者:
//抽象访问者public intece Visitor { void visit(UserVIP user); void visit(UserOrdinary user);}
具体访问者,检查反馈是否记录到有效反馈中:
//具体访问者public class APPOwner implements Visitor{ @Override public void visit(UserVIP user) { String estimation = user.getEstimation(); if(estimation.length()>5) System.out.println("记录一条有效反馈:" estimation); } @Override public void visit(UserOrdinary user) { String estimation = user.getEstimation(); if(estimation.length()>10) System.out.println("记录一条有效反馈:" estimation); }}
使用:
public class TestUse { public static void main(String args[]){ Visitor appOwner = new APPOwner(); ArrayList<User> users = new ArrayList<User>(); users.add(new UserOrdinary("普通用户短反馈")); users.add(new UserOrdinary("这是一个普通用户的比较长的反馈")); users.add(new UserVIP("VIP用户的短反馈")); users.add(new UserVIP("VIP用户的比较长的反馈反馈")); Iterator<User> iterator = users.iterator(); while(iterator.hasNext()){ iterator.next().accept(appOwner); } }}
输出:
记录一条有效反馈:这是一个普通用户的比较长的反馈记录一条有效反馈:VIP用户的短反馈记录一条有效反馈:VIP用户的比较长的反馈反馈
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33893-33.html
过的别太仔细了
孤芳自赏没有什么用
好啊金华火腿下周一开盘跌停