打字猴:1.700471854e+09
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 ]  [ 下一页 ]