Вызов одинакового метода для разных объектов из массива - C#

Узнай цену своей работы

Формулировка задачи:

Напишите три класса: Secretary, Director и Programmer. Каждый из них должен содержать метод CalculateSalary. Для простоты пусть каждый из них выводит строку "Теперь расчет жалованья для..." и имя класса. Предположим, что в вашей программе много объектов этих трех типов и их необходимо хранить в массиве. Как хранить их в одном массиве и вызывать CalculateSalary для каждого объекта при прохождении по массиву вызовом одного и того же метода для всех объектов? В чем ошибка меняю Main на CalculateSalary и выпадает ошибка
Листинг программы
  1. using System;
  2.  
  3. namespace расчетЖалования
  4. {
  5. class Secretary
  6. {
  7. public static void Main(string[] args)
  8. {
  9. Console.Write("Теперь расчет жалованья для...");
  10. Console.ReadKey(true);
  11. }
  12. }
  13.  
  14. class Director
  15. {
  16. public static void Main2(string[] args)
  17. {
  18. Console.Write("Теперь расчет жалованья для...");
  19. Console.ReadKey(true);
  20. }
  21. }
  22. class Programmer
  23. {
  24. public static void Main3(string[] args)
  25. {
  26. Console.Write("Теперь расчет жалованья для...");
  27. Console.ReadKey(true);
  28. }
  29. }
  30. }

Решение задачи: «Вызов одинакового метода для разных объектов из массива»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace SalaryCalculator
  4. {
  5.     interface ICalculatable
  6.     {
  7.         void CalculateSalary();
  8.     }
  9.  
  10.     class Secretary : ICalculatable
  11.     {
  12.         public void CalculateSalary()
  13.         {
  14.             Console.WriteLine("Теперь расчет жалованья для Secretary");
  15.         }
  16.     }
  17.  
  18.  
  19.     class Director : ICalculatable
  20.     {
  21.         public void CalculateSalary()
  22.         {
  23.             Console.WriteLine("Теперь расчет жалованья для Director");
  24.         }
  25.     }
  26.  
  27.     class Programmer : ICalculatable
  28.     {
  29.         public void CalculateSalary()
  30.         {
  31.             Console.WriteLine("Теперь расчет жалованья для Programmer");
  32.         }
  33.     }
  34.  
  35.     class Starter
  36.     {
  37.         public static void Main(string[] args)
  38.         {
  39.             ICalculatable[] staff = new ICalculatable[6];
  40.             staff[0] = new Programmer();
  41.             staff[1] = new Secretary();
  42.             staff[2] = new Director();
  43.             staff[3] = new Secretary();
  44.             staff[4] = new Director();
  45.             staff[5] = new Programmer();
  46.             foreach (ICalculatable employee in staff)
  47.             {
  48.                 employee.CalculateSalary();
  49.             }
  50.             Console.ReadKey();
  51.         }
  52.     }
  53. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы