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

Реализация по умолчанию в интерфейсе

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

Синтаксис

interface IName { тип Метод() { // тело по умолчанию } }

Пример

Давайте вызовем метод с реализацией по умолчанию:

using System; interface IGreet { string Say() { return "abcde"; } } class Worker : IGreet { } class Program { static void Main() { IGreet item = new Worker(); Console.WriteLine(item.Say()); } }

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

"abcde"

Пример

Давайте переопределим метод по умолчанию в классе:

using System; interface ICode { string GetCode() { return "12345"; } } class Custom : ICode { public string GetCode() { return "abcde"; } } class Program { static void Main() { ICode item = new Custom(); Console.WriteLine(item.GetCode()); } }

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

"abcde"

Пример

Давайте вызовем другой метод интерфейса из тела по умолчанию:

using System; interface IPair { string First() { return "1"; } string Both() { return First() + "2"; } } class Pair : IPair { } class Program { static void Main() { IPair item = new Pair(); Console.WriteLine(item.Both()); } }

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

"12"

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

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