Какво е клас на интерфейс?
Интерфейсите се използват заедно с класовете, за да се определи това, което е известно като договор. Договорът е споразумение за това, което класът ще предостави на дадено приложение.
Интерфейсът декларира свойствата и методите. От класа зависи да определи точно какво ще направи методът.
Нека разгледаме пример за интерфейс, като променим класовете в нашето приложение Console. Имайте предвид, че няма да стартираме кода, защото няма нищо, което може да се изпълни с помощта на интерфейс.
Нека създадем клас на интерфейс. Класът ще се казва „Guru99Interface“. След това нашият основен клас ще разшири определения интерфейс. Целият код трябва да бъде записан във файла Program.cs.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{interface Guru99Interface{void SetTutorial(int pID, string pName);String GetTutorial();}class Guru99Tutorial : Guru99Interface{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" и нищо друго.
- Той също така гарантира, че интерфейсът се държи като договор. Класът трябва да спазва договора. Така че, ако договорът казва, че трябва да има два метода, наречени "SetTutorial" и "GetTutorial", тогава трябва да бъде така.
Обобщение
- Интерфейсът определя договор, който класът ще спазва. Интерфейсът определя кои са операциите, които класът може да изпълнява.