打字猴:1.700472643e+09
1700472643 this.commonTotalSalary=this.commonTotalSalary+commonEmployee.getSalary()
1700472644
1700472645 *COMMONEMPLOYEE_COEFFICIENT;
1700472646
1700472647 }
1700472648
1700472649 //访问部门经理,计算工资总额
1700472650
1700472651 public void visit(Manager manager){
1700472652
1700472653 this.managerTotalSalary=this.managerTotalSalary+manager.getSalary()
1700472654
1700472655 *MANAGER_COEFFICIENT;
1700472656
1700472657 }
1700472658
1700472659 }
1700472660
1700472661 最后看我们的场景类如何计算出工资总额,如代码清单25-24所示。
1700472662
1700472663 代码清单25-24 场景类
1700472664
1700472665 public class Client{
1700472666
1700472667 public static void main(String[]args){
1700472668
1700472669 //展示报表访问者
1700472670
1700472671 IShowVisitor showVisitor=new ShowVisitor();
1700472672
1700472673 //汇总报表的访问者
1700472674
1700472675 ITotalVisitor totalVisitor=new TotalVisitor();
1700472676
1700472677 for(Employee emp:mockEmployee()){
1700472678
1700472679 emp.accept(showVisitor);//接受展示报表访问者
1700472680
1700472681 emp.accept(totalVisitor);//接受汇总表访问者
1700472682
1700472683 }
1700472684
1700472685 //展示报表
1700472686
1700472687 showVisitor.report();
1700472688
1700472689 //汇总报表
1700472690
1700472691 totalVisitor.totalSalary();
1700472692
[ 上一页 ]  [ :1.700472643e+09 ]  [ 下一页 ]