С# интерфейс
Интерфейс C#
В этом уроке мы познакомимся с интерфейсом C# на примерах.
В C# интерфейс подобен абстрактному классу. Однако, в отличие от абстрактных классов, все методы интерфейса полностью абстрактны (метод без тела).
Мы используем 00
ключевое слово для создания интерфейса. Например,
01
Здесь
- IP-полигон имя интерфейса.
- Согласно соглашению интерфейс начинается с I, чтобы мы могли идентифицировать его, просто увидев его имя.
- Нельзя использовать модификаторы доступа внутри интерфейса.
- Все члены интерфейса по умолчанию общедоступны.
- Интерфейс не поддерживает поля.
Реализация интерфейса
Мы не можем создавать объекты интерфейса. Чтобы использовать интерфейс, другие классы должны его реализовать. Как и в C# Inheritance, мы используем 14
символ для реализации интерфейса. Например,
10пре>Вывод
28В приведенном выше примере мы создали интерфейс с именем IPolygon. . Интерфейс содержит метод
26
без реализации.Здесь Прямоугольник класс реализует IPolygon . И обеспечивает реализацию
39
метод.Примечание :Мы должны обеспечить реализацию всех методов интерфейса внутри класса, который его реализует.
<час>Реализация нескольких интерфейсов
В отличие от наследования класс может реализовывать несколько интерфейсов. Например,
32Вывод
40В приведенном выше примере у нас есть два интерфейса:IPolygon. и iColor .
58Мы реализовали оба интерфейса в Rectangle. класс, разделенный
46
.Теперь
<час>59
должен реализовать метод обоих интерфейсов.Использование ссылочной переменной интерфейса
Мы можем использовать ссылочную переменную интерфейса. Например,
61
Вывод
73В приведенном выше примере мы создали интерфейс с именем IPolygon. . Интерфейс содержит метод
66
без реализации.80Обратите внимание, мы использовали ссылочную переменную интерфейса IPolygon. . Он указывает на класс Rectangle который его реализует.
Хотя мы не можем создавать объекты интерфейса, мы все же можем использовать ссылочную переменную интерфейса, которая указывает на его реализованный класс.
<час>Практический пример интерфейса
Давайте рассмотрим более практичный пример интерфейса C#.
90Вывод
107В приведенной выше программе мы создали интерфейс с именем IPolygon. . Он имеет абстрактный метод
77
.У нас есть два класса Square и Прямоугольник которые реализуют IPolygon интерфейс.
Правило расчета площади для каждого полигона разное. Следовательно,
82
включен без реализации.Любой класс, реализующий IPolygon должен предоставить реализацию
<час>90
. Следовательно, реализация метода в классе Rectangle не зависит от метода в классе Square .Преимущества интерфейса C#
Теперь, когда мы знаем, что такое интерфейсы, давайте узнаем, почему интерфейсы используются в C#.
- Подобно абстрактным классам, интерфейсы помогают нам достичь абстракции в C#. .
Здесь метод109
внутри интерфейса, не имеет тела. Таким образом, он скрывает детали реализации метода.
- Интерфейсы предоставляют спецификации которому должен следовать класс (который его реализует).
В нашем предыдущем примере мы использовали118
как спецификация внутри интерфейса IPolygon . Это похоже на установление правила, согласно которому мы должны вычислять площадь каждого многоугольника.
Теперь любой класс, реализующий IPolygon интерфейс должен обеспечивать реализацию для calculateArea() метод.
- Интерфейсы используются для достижения множественного наследования в C#.
- Интерфейсы обеспечивают слабую связь (не влияя или минимально влияя на другие части кода, когда мы меняем одну часть кода).
В нашем предыдущем примере, если мы изменим реализацию122
на площади class это не влияет на Rectangle класс.
Язык C