1700471854
1700471855
//其次,定义我还可以访问部门经理
1700471856
1700471857
public void visit(Manager manager);
1700471858
1700471859
}
1700471860
1700471861
该接口的意义是:该接口可以访问两个对象,一个是普通员工,一个是高层员工。我们来看其具体实现类,如代码清单25-6所示。
1700471862
1700471863
代码清单25-6 访问者实现
1700471864
1700471865
public class Visitor implements IVisitor{
1700471866
1700471867
//访问普通员工,打印出报表
1700471868
1700471869
public void visit(CommonEmployee commonEmployee){
1700471870
1700471871
System.out.println(this.getCommonEmployee(commonEmployee));
1700471872
1700471873
}
1700471874
1700471875
//访问部门经理,打印出报表
1700471876
1700471877
public void visit(Manager manager){
1700471878
1700471879
System.out.println(this.getManagerInfo(manager));
1700471880
1700471881
}
1700471882
1700471883
//组装出基本信息
1700471884
1700471885
private String getBasicInfo(Employee employee){
1700471886
1700471887
String info=“姓名:”+employee.getName()+”\t”;
1700471888
1700471889
info=info+“性别:”+(employee.getSex()==Employee.FEMALE?“女”:“男”)+”\t”;
1700471890
1700471891
info=info+“薪水:”+employee.getSalary()+”\t”;
1700471892
1700471893
return info;
1700471894
1700471895
}
1700471896
1700471897
//组装出部门经理的信息
1700471898
1700471899
private String getManagerInfo(Manager manager){
1700471900
1700471901
String basicInfo=this.getBasicInfo(manager);
1700471902
1700471903
String otherInfo=“业绩:”+manager.getPerformance()+”\t”;
[
上一页 ]
[ :1.700471854e+09 ]
[
下一页 ]