Учебники

14) Интерфейс C #

Что такое интерфейсный класс?

Интерфейсы используются вместе с классами для определения так называемого контракта. Контракт — это соглашение о том, что класс предоставит приложению.

Интерфейс объявляет свойства и методы. Класс должен точно определить, что будет делать метод.

Давайте рассмотрим пример интерфейса, изменив классы в нашем консольном приложении. Обратите внимание, что мы не будем запускать код, потому что нет ничего, что можно запустить с помощью интерфейса.

Давайте создадим интерфейсный класс. Класс будет называться «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();
  }
 }
}

Объяснение кода: —

Здесь мы объясним важные разделы кода

Класс C # и Объект

  1. Сначала мы определим интерфейс под названием «Guru99Interface». Обратите внимание, что ключевое слово «интерфейс» используется для определения интерфейса.
  2. Далее мы определяем методы, которые будут использоваться нашим интерфейсом. В этом случае мы определяем те же методы, которые используются во всех предыдущих примерах. Обратите внимание, что интерфейс просто объявляет методы. Он не определяет код в них.
  3. Затем мы заставляем наш класс Guru99Tutorial расширять интерфейс. Здесь мы пишем код, который определяет различные методы, объявленные в интерфейсе. Этот вид кодирования обеспечивает следующее
    • Это гарантирует, что класс Guru99Tutorial добавляет только код, необходимый для методов «SetTutorial» и «GetTutorial», и ничего больше.
    • Это также гарантирует, что интерфейс ведет себя как контракт. Класс должен соблюдать договор. Поэтому, если в контракте говорится, что в нем должно быть два метода, называемых «SetTutorial» и «GetTutorial», то так и должно быть.

Резюме

  • Интерфейс определяет контракт, которому будет соответствовать класс. Интерфейс определяет, какие операции может выполнять класс.