1700471981
}
1700471982
1700471983
//我允许一个访问者访问
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
[
上一页 ]
[ :1.700471981e+09 ]
[
下一页 ]