Kas ir saskarnes klase?
Saskarnes tiek izmantotas kopā ar klasēm, lai definētu to, ko sauc par līgumu. Līgums ir vienošanās par to, ko klase sniegs pieteikumam.
Interfeiss deklarē īpašības un metodes. Klases ziņā ir precīzi noteikt, ko metode darīs.
Apskatīsim saskarnes piemēru, mainot klases mūsu konsoles lietojumprogrammā. Ņemiet vērā, ka kods netiks palaists, jo neko nevar palaist, izmantojot interfeisu.
Izveidosim saskarnes klasi. Nodarbība sauksies "Guru99Interface". Pēc tam mūsu galvenā klase paplašinās definēto saskarni. Viss kods ir jāraksta failā 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();}}}
Koda skaidrojums: -
Šeit mēs izskaidrojam svarīgās koda sadaļas
- Vispirms mēs definējam saskarni ar nosaukumu "Guru99Interface". Ņemiet vērā, ka interfeisa definēšanai tiek izmantots atslēgvārds "interfeiss".
- Tālāk mēs definējam metodes, kuras izmantos mūsu saskarne. Šajā gadījumā mēs definējam tās pašas metodes, kas tiek izmantotas visos iepriekšējos piemēros. Ņemiet vērā, ka interfeiss vienkārši deklarē metodes. Tas nenosaka tajos esošo kodu.
- Pēc tam mēs liekam mūsu Guru99Tutorial klasei paplašināt saskarni. Šeit mēs rakstām kodu, kas nosaka dažādas saskarnē deklarētās metodes. Šāda veida kodēšana nodrošina sekojošo
- Tas nodrošina, ka klase Guru99Tutorial pievieno tikai kodu, kas nepieciešams "SetTutorial" un "GetTutorial" metodēm, un neko citu.
- Tas arī nodrošina, ka interfeiss darbojas kā līgums. Klasei ir jāievēro līgums. Tātad, ja līgumā teikts, ka tam vajadzētu būt divām metodēm, ko sauc par "SetTutorial" un "GetTutorial", tad tā tam vajadzētu būt.
Kopsavilkums
- Interfeiss nosaka līgumu, kuru klase izpildīs. Interfeiss nosaka, kādas ir operācijas, kuras klase var veikt.