Tänk på det som ett recept:
* gränssnitt: Receptetiteln och listan över ingredienser, men inga matlagningsinstruktioner.
* klass: Den faktiska maträtten du förbereder efter receptet.
Nyckelegenskaper för gränssnitt:
* Sammanfattning: De förklarar bara metoder, inte implementerar dem.
* allmänhet: Alla metoder är offentliga.
* kan inte instanseras: Du kan inte skapa en instans av ett gränssnitt direkt.
* Flera arv: En klass kan implementera flera gränssnitt, till skillnad från arv med klasser.
* verkställer standardisering: Gränssnitt säkerställer att olika klasser som implementerar samma gränssnitt kommer att ha samma beteende, vilket gör din kod mer förutsägbar och underhållbar.
Varför använda gränssnitt?
* Abstraktion: Dölj implementeringsdetaljer och fokusera på vad objektet gör.
* polymorfism: Tillåter olika klasser att svara på samma meddelande på olika sätt.
* lös koppling: Främjar flexibilitet och modularitet genom att separera gränssnitt och implementering.
* Testabilitet: Gör det lättare att skriva enhetstester genom att håna eller stubbgränssnitt.
Exempel (Java):
`` `Java
gränssnitt drabbas {
void rit ();
}
klasscirkel implementerar dragbar {
@Åsidosätta
public void Draw () {
// Implementering för att rita en cirkel
}
}
klass Square implementerar dragbar {
@Åsidosätta
public void Draw () {
// Implementering för att rita en fyrkant
}
}
`` `
I det här exemplet:
* `Drawable 'är gränssnittet, som definierar metoden' ritning ().
* `Circle` och` Square 'är klasser som implementerar gränssnittet `ritningsbart'. De tillhandahåller sin egen implementering för metoden "ritning ()".
Viktiga anteckningar:
* Gränssnitt är ett grundläggande koncept i objektorienterad programmering.
* Olika programmeringsspråk har sin egen syntax och konventioner för att definiera och använda gränssnitt.
* Gränssnitt är viktiga för att skapa robusta, underhållbara och flexibla mjukvaruapplikationer.