Co to jest interfejs w języku C# z przykładem
Co to jest interfejs w C#?
An Interfejs w C# jest używany wraz z klasą do definiowania kontraktu, który jest umową na temat tego, co klasa zapewni aplikacji. Interfejs definiuje, jakie operacje może wykonać klasa. Interfejs deklaruje właściwości i metody. To klasa musi dokładnie zdefiniować, co metoda zrobi.
Przyjrzyjmy się przykładowi interfejsu poprzez zmianę klas w naszej aplikacji Konsola. Pamiętaj, że nie będziemy uruchamiać kodu, ponieważ nie ma niczego, co można uruchomić za pomocą interfejsu.
Przykład interfejsu C#
Stwórzmy klasę interfejsu. Klasa będzie nosiła nazwę „Guru99Interface”. Nasza główna klasa rozszerzy następnie zdefiniowany interfejs. Cały kod należy zapisać w pliku 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();
}
}
}
Wyjaśnienie kodu: -
Tutaj wyjaśniamy ważne sekcje kodu
- Najpierw definiujemy interfejs o nazwie „Guru99Interface”. Należy pamiętać, że słowo kluczowe „interfejs” służy do zdefiniowania interfejsu.
- Następnie definiujemy metody, które będą używane przez nasz interfejs. W tym przypadku definiujemy te same metody, które są używane we wszystkich wcześniejszych przykładach. Należy zauważyć, że interfejs po prostu deklaruje metody. Nie definiuje w nich kodu.
- Następnie rozszerzamy interfejs naszą klasą Guru99Tutorial. Tutaj piszemy kod, który definiuje różne metody zadeklarowane w interfejsie. Ten rodzaj kodowania osiąga następujące
- Zapewnia to, że klasa Guru99Tutorial doda tylko kod niezbędny dla metod „SetTutorial” i „GetTutorial” i nic więcej.
- Zapewnia również, że interfejs zachowuje się jak kontrakt. The klasa musi dotrzymać umowy. Jeśli więc umowa mówi, że powinna mieć dwie metody zwane „SetTutorial” i „GetTutorial”, to tak powinno być.
Podsumowanie
- Interfejs definiuje kontrakt, który będzie przestrzegany przez klasę. Interfejs definiuje, jakie operacje może wykonywać klasa.

