Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpIfSw 103 of 163 menu
◀ ▶

Подмена реализации интерфейса в C#

Переменная интерфейсного типа может указывать то на один класс-реализацию, то на другой. Контракт остается тем же, меняется только поведение конкретного объекта.

Запишем две реализации печати и подменим объект в одной переменной:

IPrinter printer = new ConsolePrinter(); printer.PrintLine(); printer = new FilePrinter(); printer.PrintLine(); interface IPrinter { void PrintLine(); } class ConsolePrinter : IPrinter { public void PrintLine() { Console.WriteLine("console"); } } class FilePrinter : IPrinter { public void PrintLine() { Console.WriteLine("file"); } }

Сделайте интерфейс IGreeter с методом Greet и два класса с разным текстом приветствия. Сохраните сначала один объект в переменную типа IGreeter, вызовите метод, затем подмените вторым объектом и снова вызовите метод.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить