示例#1
0
        static void Main(string[] args)
        {
            Worker[] workers = new Worker[4]; // Массив объектов класса "Работник в общем"
            workers[0] = new Accountant("Иванов Иван Иванович", 20000);
            workers[1] = new MainAccountant("Петров Петр Петрович", 30000);
            workers[2] = new Workers("Сидорова Александра Игоревна", 40000);
            workers[3] = new Engineer("Матросова Анастасия Александровна", 50000);



            foreach (Worker MasRab in workers)
            {
                Console.WriteLine("Работник: {0}", MasRab.ToString());
            }

            Accountant Acc1 = (Accountant)workers[0];

            Acc1.ChangeSalary(workers[3], 55000);
            Console.WriteLine("---");
            Console.WriteLine("Новая зарплата для 4-его работника: \n{0} ", workers[3].ToString());

            MainAccountant MAcc1 = (MainAccountant)workers[1];

            MAcc1.CalcSalary(workers);

            // проверка как работает переопределенный метод Equals()
            MainAccountant MAcc2 = null; // проверка, если объект сравнения = null

            MAcc1.Equals(MAcc2);         // программа не падает при таких данных

            // проверка статического метода Equals(Object objA, Object objB)
            MainAccountant MAcc3 = MAcc1;

            if (Equals(MAcc1, MAcc3))      // программа не падает при таких данных
            {
                Console.WriteLine("---");
                Console.WriteLine("Они равны! (2)");
                Console.WriteLine("---");
            }

            Workers Wor1 = (Workers)workers[2];

            Wor1.PutData(40000, 45000, 270);

            Engineer Eng1 = (Engineer)workers[3];

            Eng1.Production((Workers)workers[2]);

            Console.WriteLine("\nДля выхода нажмите любую клавишу.");
            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            Worker[] workers = new Worker[4]; // Массив объектов класса "Работник в общем"
            workers[0] = new Accountant("Иванов Иван Иванович", 20000);
            workers[1] = new MainAccountant("Петров Петр Петрович", 30000);
            workers[2] = new Workers("Сидорова Александра Игоревна", 40000);
            workers[3] = new Engineer("Матросова Анастасия Александровна", 50000);

            foreach (Worker MasRab in workers)
            {
                Console.WriteLine("Работник: {0}", MasRab.ToString());
            }

            Accountant Acc1 = (Accountant)workers[0];
            Acc1.ChangeSalary(workers[3], 55000);
            Console.WriteLine("---");
            Console.WriteLine("Новая зарплата для 4-его работника: \n{0} ", workers[3].ToString());

            MainAccountant MAcc1 = (MainAccountant)workers[1];
            MAcc1.CalcSalary(workers);

            // проверка как работает переопределенный метод Equals()
            MainAccountant MAcc2 = null; // проверка, если объект сравнения = null
            MAcc1.Equals(MAcc2);  // программа не падает при таких данных

            // проверка статического метода Equals(Object objA, Object objB)
                 MainAccountant MAcc3 = MAcc1;
                 if (Equals(MAcc1, MAcc3)) // программа не падает при таких данных
                 {
                     Console.WriteLine("---");
                     Console.WriteLine("Они равны! (2)");
                     Console.WriteLine("---");
                 }

            Workers Wor1 = (Workers)workers[2];
            Wor1.PutData(40000, 45000, 270);

            Engineer Eng1 = (Engineer)workers[3];
            Eng1.Production((Workers)workers[2]);

            Console.WriteLine("\nДля выхода нажмите любую клавишу.");
            Console.ReadKey();
        }