Що таке інтерфейс у C# з прикладом
Що таке інтерфейс у C#?
An інтерфейс у C# використовується разом із класом для визначення контракту, який є угодою про те, що клас надаватиме додатку. Інтерфейс визначає, які операції може виконувати клас. Інтерфейс оголошує властивості та методи. Саме клас має визначити, що саме робитиме метод.
Давайте розглянемо приклад інтерфейсу, змінивши класи в нашій консольній програмі. Зауважте, що ми не будемо запускати код, оскільки немає нічого, що можна запустити за допомогою інтерфейсу.
Приклад інтерфейсу C#
Давайте створимо клас інтерфейсу. Клас буде називатися «Guru99Interface». Тоді наш головний клас розширить визначений інтерфейс. Весь код потрібно записати у файл Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { interface IGuru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : IGuru99Interface { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID, string pName) { TutorialID = pID; TutorialName = pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1,".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Пояснення коду: -
Тут ми пояснюємо важливі розділи коду
- Спочатку ми визначаємо інтерфейс під назвою «Guru99Interface». Зверніть увагу, що ключове слово «інтерфейс» використовується для визначення інтерфейсу.
- Далі ми визначаємо методи, які використовуватиме наш інтерфейс. У цьому випадку ми визначаємо ті самі методи, які використовуються в усіх попередніх прикладах. Зауважте, що інтерфейс лише оголошує методи. Він не визначає код у них.
- Потім ми розширюємо інтерфейс класу Guru99Tutorial. Тут ми пишемо код, який визначає різні методи, оголошені в інтерфейсі. Цей вид кодування досягає наступного
- Це гарантує, що клас Guru99Tutorial лише додає код, необхідний для методів «SetTutorial» і «GetTutorial», і нічого більше.
- Це також гарантує, що інтерфейс веде себе як контракт. The клас має дотримуватися договору. Отже, якщо в контракті сказано, що він має мати два методи під назвою «SetTutorial» і «GetTutorial», то це так і має бути.
Підсумки
- Інтерфейс визначає контракт, якому буде відповідати клас. Інтерфейс визначає, які операції може виконувати клас.