Учебное пособие по интерфейсу C # с примером

Содержание:

Anonim

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

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

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

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

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

Пояснение к коду: -

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

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

Резюме

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