Какво е интерфейс в C# с пример
Какво е интерфейс в C#?
An Interface в 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“, тогава така трябва да бъде.
Oбобщение
- Интерфейсът определя договор, който класът ще спазва. Интерфейсът определя какви са операциите, които класът може да изпълнява.