Example #1
0
        static void Main(string[] args)
        {
            EmployeeList list = new EmployeeList();
            Employee     fte1, fte2, fte3, pte1, pte2;

            fte1 = new FulltimeEmployee("张无忌", 3200.00, 45);
            fte2 = new FulltimeEmployee("杨过", 2000.00, 40);
            fte3 = new FulltimeEmployee("段誉", 2400.00, 38);
            pte1 = new ParttimeEmployee("洪七公", 80.00, 20);
            pte2 = new ParttimeEmployee("郭靖", 60.00, 18);

            list.AddEmployee(fte1);
            list.AddEmployee(fte2);
            list.AddEmployee(fte3);
            list.AddEmployee(pte1);
            list.AddEmployee(pte2);

            Department dep;
            //读取配置文件
            string visitorStr = ConfigurationManager.AppSettings["visitor"];

            //反射生成对象
            dep = (Department)Assembly.Load("VisitorSample").CreateInstance(visitorStr);
            list.Accept(dep);

            Console.Read();
        }
Example #2
0
        //实现财务部对兼职员工的访问
        public override void Visit(ParttimeEmployee employee)
        {
            int    workTime = employee.WorkTime;
            double hourWage = employee.HourWage;

            Console.WriteLine("临时工{0}实际工资为:{1}元。", employee.Name, workTime * hourWage);
        }
Example #3
0
        //实现人力资源部对兼职员工的访问
        public override void Visit(ParttimeEmployee employee)
        {
            int workTime = employee.WorkTime;

            Console.WriteLine("临时工{0}实际工作时间为:{1}小时。", employee.Name, workTime);
        }