打字猴:1.700472031e+09
1700472031 上面是普通员工的实现类,该类的accept方法很简单,这个类就把自身传递过去,也就是让访问者访问本身这个对象。再看Manager类,如代码清单25-9所示。
1700472032
1700472033 代码清单25-9 管理层员工
1700472034
1700472035 public class Manager extends Employee{
1700472036
1700472037 //这类人物的职责非常明确:业绩
1700472038
1700472039 private String performance;
1700472040
1700472041 public String getPerformance(){
1700472042
1700472043 return performance;
1700472044
1700472045 }
1700472046
1700472047 public void setPerformance(String performance){
1700472048
1700472049 this.performance=performance;
1700472050
1700472051 }
1700472052
1700472053 //部门经理允许访问者访问
1700472054
1700472055 @Override
1700472056
1700472057 public void accept(IVisitor visitor){
1700472058
1700472059 visitor.visit(this);
1700472060
1700472061 }
1700472062
1700472063 }
1700472064
1700472065 所有的业务定义都已经完成,我们来看看怎么模拟这个逻辑,如代码清单25-10所示。
1700472066
1700472067 代码清单25-10 场景类
1700472068
1700472069 public class Client{
1700472070
1700472071 public static void main(String[]args){
1700472072
1700472073 for(Employee emp:mockEmployee()){
1700472074
1700472075 emp.accept(new Visitor());
1700472076
1700472077 }
1700472078
1700472079 }
1700472080
[ 上一页 ]  [ :1.700472031e+09 ]  [ 下一页 ]