static void Main(string[] args) { EmployeeList list = new EmployeeList(); Employee fte1, fte2, fte3, pte1, pte2; fte1 = new FulltimeEmployee("张无忌", 3200, 45); fte2 = new FulltimeEmployee("杨过", 2000, 40); fte3 = new FulltimeEmployee("段誉", 2400, 38); pte1 = new ParttimeEmployee("洪七公", 80, 20); pte2 = new ParttimeEmployee("郭靖", 60, 18); list.addEmployee(fte1); list.addEmployee(fte2); list.addEmployee(fte3); list.addEmployee(pte1); list.addEmployee(pte2); Console.WriteLine("财务部 访问数据!"); Department fadep = new FADepartment(); list.accept(fadep); Console.WriteLine(); Console.WriteLine("人力资源部 访问数据!"); Department hrdep = new HRDepartment(); list.accept(hrdep); Console.ReadLine(); }
/// <summary> /// 实现财务部对兼职员工的访问 /// </summary> /// <param name="employee"></param> public override void Visit(ParttimeEmployee employee) { int workTime = employee.WorkTime; Decimal hourWage = employee.HourWage; Console.WriteLine("临时工{0}实际工资为:{1}元。", employee.Name, workTime * hourWage); }
/// <summary> /// 实现人力资源部对兼职员工的访问 /// </summary> /// <param name="employee"></param> public override void Visit(ParttimeEmployee employee) { Console.WriteLine("临时工{0}实际工作时间为:{1}小时。", employee.Name, employee.WorkTime); }
/// <summary> /// 实现对兼职员工的访问 /// </summary> /// <param name="employee"></param> public abstract void Visit(ParttimeEmployee employee);