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

Ключевое слово interface

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

Синтаксис

interface Имя { тип Член { get; set; } void Метод(); }

Пример

Давайте реализуем интерфейс в классе:

using System; interface IPrint { void Print(); } class Message : IPrint { public string Text; public void Print() { Console.WriteLine(Text); } } class Program { static void Main() { IPrint item = new Message { Text = "abcde" }; item.Print(); } }

Результат выполнения кода:

"abcde"

Пример

Давайте реализуем интерфейс в структуре:

using System; interface ILength { int GetLength(); } struct TextData : ILength { public string Text; public int GetLength() { return Text.Length; } } class Program { static void Main() { ILength data = new TextData { Text = "12345" }; Console.WriteLine(data.GetLength()); } }

Результат выполнения кода:

5

Пример

Давайте проверим тип объекта через is:

using System; interface IMark { } class Node : IMark { } class Program { static void Main() { object obj = new Node(); Console.WriteLine(obj is IMark); } }

Результат выполнения кода:

True

Смотрите также

  • ключевое слово class,
    который может реализовать интерфейс
  • ключевое слово struct,
    который тоже может реализовать интерфейс
  • оператор is,
    который проверяет реализацию интерфейса
  • оператор as,
    который приводит объект к интерфейсу
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить