Передать интерфейс через конструктор - 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;
        }
    }

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


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

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

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