Інтерфейс - це тип, що визначає набір методів і властивостей без реалізації, і використовується для визначення класів з подібною функціональністю. Інтерфейс визначається за допомогою ключового слова interface.Синтаксис визначення інтерфейсу:
interface інтерфейс {
тип метод(аргументи);
тип властивість { get; set;}
}
Особливості використання інтерфейсів:
- всі методи інтерфейсу за визначенням є відкритими, при цьому заборонено використовувати у визначенні методів модифікатори доступу.
- тип інтерфейсу можна використовувати в оголошенні параметрів методів і змінних, але створювати об'єкти типу інтерфейс не можна.
- замість зміни вже використовуваного інтерфейсу слід скористатися спадкуванням інтерфейсу.
Інтерфейси реалізуються за допомогою класів. Під реалізацією класом інтерфейсу розуміється написання в класі програмного коду для кожного з оголошених в інтерфейсі методів і властивостей. Для реалізації інтерфейсу необхідно:
- після імені класу, що реалізує інтерфейс, поставте двокрапку і напишіть ім'я користувача (якщо в класі необхідно реалізувати кілька інтерфейсів, слід розділити їх імена комами);
- включіть в клас всі методи і властивості, певні в інтерфейсі;
- для кожного реалізованого методу і властивості вкажіть модифікатор доступу public.
Можливість реалізації одним класів декількох інтерфейсів замінює відсутність множинного спадкування. Для отримання доступу до інтерфейсу об'єкта застосовуються наступні способи:
- явне приведення типу - (інтерфейс)об'єкт;
- за допомогою ключового слова as - об'єкт as інтерфейс;
- за допомогою ключового слова is - if (об'єкт is інтерфейс).
Для реалізації успадкування інтерфейсів в мові C# використовується наступний синтаксис:
interface нащадок: батько {
}