Вызов одинакового метода для разных объектов из массива - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д