Что такое интерфейсный класс?
Интерфейсы используются вместе с классами для определения так называемого контракта. Контракт — это соглашение о том, что класс предоставит приложению.
Интерфейс объявляет свойства и методы. Класс должен точно определить, что будет делать метод.
Давайте рассмотрим пример интерфейса, изменив классы в нашем консольном приложении. Обратите внимание, что мы не будем запускать код, потому что нет ничего, что можно запустить с помощью интерфейса.
Давайте создадим интерфейсный класс. Класс будет называться «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», то так и должно быть.
Резюме
- Интерфейс определяет контракт, которому будет соответствовать класс. Интерфейс определяет, какие операции может выполнять класс.
