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.