Передать интерфейс через конструктор - C#

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

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

Есть интерфейс, который реализуют несколько классов, для придания различного поведения объекту, например
class Silent : ISpeaking
    {
        public void Speak()
        {
            Console.WriteLine("Я молчу");
        }
    }
Будет некий класс,допустим class Human, в котором должна отразиться различная реализация интерфейса. Я так понял, что нужно передавать интерфейс через конструктор(агрегация). Передавать в таком виде
public Human(ISpeaking)
{}
? Или как-то по другому?

Решение задачи: «Передать интерфейс через конструктор»

textual
Листинг программы
 public interface IEngine { };
    
 
    public class Car
    {
        IEngine engine;
        public Car(IEngine eng)
        {
            engine = eng;
        }
    }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

14   голосов , оценка 4.286 из 5
Похожие ответы