打字猴:1.70047246e+09
1700472460
1700472461 }
1700472462
1700472463 //计算普通员工的工资总和
1700472464
1700472465 private void calCommonSlary(int salary){
1700472466
1700472467 this.commonTotalSalary=this.commonTotalSalary+
1700472468
1700472469 salary*COMMONEMPLOYEE_COEFFICIENT;
1700472470
1700472471 }
1700472472
1700472473 //获得所有员工的工资总和
1700472474
1700472475 public int getTotalSalary(){
1700472476
1700472477 return this.commonTotalSalary+this.managerTotalSalary;
1700472478
1700472479 }
1700472480
1700472481 }
1700472482
1700472483 员工和经理层的信息就不再展示了,请参考代码清单25-6。程序还是比较简单的,分别计算普通员工和经理级员工的工资总和,然后加起来。注意,我们在实现时已经考虑员工工资和经理工资的系数不同。
1700472484
1700472485 我们再来看Client类的模拟,如代码清单25-19所示。
1700472486
1700472487 代码清单25-19 场景类
1700472488
1700472489 public class Client{
1700472490
1700472491 public static void main(String[]args){
1700472492
1700472493 IVisitor visitor=new Visitor();
1700472494
1700472495 for(Employee emp:mockEmployee()){
1700472496
1700472497 emp.accept(visitor);
1700472498
1700472499 }
1700472500
1700472501 System.out.println(“本公司的月工资总额是:”+visitor.getTotalSalary());
1700472502
1700472503 }
1700472504
1700472505 }
1700472506
1700472507 其中mockEmployee静态方法没有任何改动,请参考代码清单25-10,在此不再赘述。运行结果如下所示:
1700472508
1700472509 姓名:张三 性别:男 薪水:1800 工作:编写Java程序,绝对的蓝领、苦工加搬运工
[ 上一页 ]  [ :1.70047246e+09 ]  [ 下一页 ]