1700472531
类图看着挺复杂,其实也没什么复杂的,只是多了两个接口和两个实现类,分别负责展示表和汇总表的业务处理,IVisitor接口没有改变,请参考代码清单25-5所示代码,这里不再赘述。我们来看展示报表接口,如代码清单25-20所示。
1700472532
1700472533
代码清单25-20 展示表接口
1700472534
1700472535
public interface IShowVisitor extends IVisitor{
1700472536
1700472537
//展示报表
1700472538
1700472539
public void report();
1700472540
1700472541
}
1700472542
1700472543
展示表的实现也比较简单,如代码清单25-21所示。
1700472544
1700472545
代码清单25-21 具体展示表
1700472546
1700472547
public class ShowVisitor implements IShowVisitor{
1700472548
1700472549
private String info=””;
1700472550
1700472551
//打印出报表
1700472552
1700472553
public void report(){
1700472554
1700472555
System.out.println(this.info);
1700472556
1700472557
}
1700472558
1700472559
//访问普通员工,组装信息
1700472560
1700472561
public void visit(CommonEmployee commonEmployee){
1700472562
1700472563
this.info=this.info+this.getBasicInfo(commonEmployee)+“工作:
1700472564
1700472565
“+commonEmployee.getJob()+”\t\n”;
1700472566
1700472567
}
1700472568
1700472569
//访问经理,然后组装信息
1700472570
1700472571
public void visit(Manager manager){
1700472572
1700472573
this.info=this.info+this.getBasicInfo(manager)+“业绩:
1700472574
1700472575
“+manager.getPerformance()+”\t\n”;
1700472576
1700472577
}
1700472578
1700472579
//组装出基本信息
1700472580
[
上一页 ]
[ :1.700472531e+09 ]
[
下一页 ]