Найти в Дзене
.Net Review

Интерфейсы в C# (Часть 2). Наследование, изменение реализации

Для знакомства с интерфейсами смотрите первую часть обзора.

Наследование/Изменение

Если говорить о наследовании к интерфейсу, то к нему можно наследовать только интерфейсы. К классам (обычным, абстрактным) можно наследовать множество интерфейсов.

-2

Класс Audi наследуется от класса Car и интерфейса ITrasport для того, чтобы поменять реализацию метода GetName.

-3

Создаем две реализации интерфейса ITransport и выполняем методы.

-4

В результате получаем во втором случае на вызове метода GetName, ответ: Audi car, так как этот метод был переопределен.

Также зависит чем в итоге у вас является ваша реализация.

-5

В данном случае результатом car1.GetName будет "Audi car", а в car2.GetName будет "Usual car". Так происходит из-за того, что после создания объекта, он преобразуется в объект интерфейса в первом случае и в объект Car во втором. Для интерфейса переопределен метод GetName, для класса Car - нет.

По интерфейсам у меня всё. Более подробно понять для чего они и где используются можно будет в статьях про паттерны и их реализацию.

Телеграмм канал: https://t.me/dotnetreview