Вызов одинакового метода для разных объектов из массива - C#
Формулировка задачи:
Напишите три класса: Secretary, Director и Programmer. Каждый из них должен содержать метод CalculateSalary. Для простоты пусть каждый из них выводит строку "Теперь расчет жалованья для..." и имя класса.
Предположим, что в вашей программе много объектов этих трех типов и их необходимо хранить в массиве. Как хранить их в одном массиве и вызывать CalculateSalary для каждого объекта при прохождении по массиву вызовом одного и того же метода для всех объектов? В чем ошибка меняю Main на CalculateSalary и выпадает ошибка
Листинг программы
- using System;
- namespace расчетЖалования
- {
- class Secretary
- {
- public static void Main(string[] args)
- {
- Console.Write("Теперь расчет жалованья для...");
- Console.ReadKey(true);
- }
- }
- class Director
- {
- public static void Main2(string[] args)
- {
- Console.Write("Теперь расчет жалованья для...");
- Console.ReadKey(true);
- }
- }
- class Programmer
- {
- public static void Main3(string[] args)
- {
- Console.Write("Теперь расчет жалованья для...");
- Console.ReadKey(true);
- }
- }
- }
Решение задачи: «Вызов одинакового метода для разных объектов из массива»
textual
Листинг программы
- using System;
- namespace SalaryCalculator
- {
- interface ICalculatable
- {
- void CalculateSalary();
- }
- class Secretary : ICalculatable
- {
- public void CalculateSalary()
- {
- Console.WriteLine("Теперь расчет жалованья для Secretary");
- }
- }
- class Director : ICalculatable
- {
- public void CalculateSalary()
- {
- Console.WriteLine("Теперь расчет жалованья для Director");
- }
- }
- class Programmer : ICalculatable
- {
- public void CalculateSalary()
- {
- Console.WriteLine("Теперь расчет жалованья для Programmer");
- }
- }
- class Starter
- {
- public static void Main(string[] args)
- {
- ICalculatable[] staff = new ICalculatable[6];
- staff[0] = new Programmer();
- staff[1] = new Secretary();
- staff[2] = new Director();
- staff[3] = new Secretary();
- staff[4] = new Director();
- staff[5] = new Programmer();
- foreach (ICalculatable employee in staff)
- {
- employee.CalculateSalary();
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д