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 ]
[
下一页 ]