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

Реализация интерфейса

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

Синтаксис

class Имя : IContract { public тип Член() { // тело } }

Пример

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

using System; interface IText { string GetText(); } class Row : IText { public string GetText() { return "abcde"; } } class Program { static void Main() { IText item = new Row(); Console.WriteLine(item.GetText()); } }

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

"abcde"

Пример

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

using System; interface ICode { string GetCode(); } interface ILength { int GetLength(); } class Token : ICode, ILength { public string GetCode() { return "12345"; } public int GetLength() { return 5; } } class Program { static void Main() { var token = new Token(); Console.WriteLine(token.GetCode() + " " + token.GetLength()); } }

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

12345 5

Пример

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

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

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

True

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

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