打字猴:1.700471984e+09
1700471984
1700471985 public abstract void accept(IVisitor visitor);
1700471986
1700471987 }
1700471988
1700471989 抽象员工类有3个变动:
1700471990
1700471991 ❑删除了report方法。
1700471992
1700471993 ❑增加了accept方法,接受访问者的访问。
1700471994
1700471995 ❑删除了getOtherInfo方法。它的实现由访问者来处理,因为访问者对被访问的对象是“心知肚明”的,非常了解被访问者。
1700471996
1700471997 我们继续来看员工实现类,普通员工代码清单25-8所示。
1700471998
1700471999 代码清单25-8 普通员工
1700472000
1700472001 public class CommonEmployee extends Employee{
1700472002
1700472003 //工作内容,这非常重要,以后的职业规划就是靠它了
1700472004
1700472005 private String job;
1700472006
1700472007 public String getJob(){
1700472008
1700472009 return job;
1700472010
1700472011 }
1700472012
1700472013 public void setJob(String job){
1700472014
1700472015 this.job=job;
1700472016
1700472017 }
1700472018
1700472019 //我允许访问者访问
1700472020
1700472021 @Override
1700472022
1700472023 public void accept(IVisitor visitor){
1700472024
1700472025 visitor.visit(this);
1700472026
1700472027 }
1700472028
1700472029 }
1700472030
1700472031 上面是普通员工的实现类,该类的accept方法很简单,这个类就把自身传递过去,也就是让访问者访问本身这个对象。再看Manager类,如代码清单25-9所示。
1700472032
1700472033 代码清单25-9 管理层员工
[ 上一页 ]  [ :1.700471984e+09 ]  [ 下一页 ]