Beispiel #1
0
        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);