Az interfész egy referencia típus, amelyet az osztályokkal való szerződés kikényszerítésére használnak. A szerződés utal arra a kötelezettségre, hogy végre kell hajtani az interfész által definiált módszereket.

Az interfészek absztrakciót biztosítanak az általuk meghatározott módszerek és a felhasználó által az osztályban megvalósított módok között. Ennek gyakorlati alkalmazása az API -kban (Application Programming Interfaces) található.

Az API -k lehetővé teszik, hogy a program kommunikáljon más programokkal anélkül, hogy tudná, hogyan valósítják meg őket. Ez fontos mind a tulajdonjogi okok miatt (a jogokat birtokló vállalat számára), mind pedig a könnyű fejlesztés érdekében.

Vessünk egy pillantást a Java interfészek használatára.

Interfészek meghatározása

Az interfész deklarálásához helyezze el a kulcsszót felület a felület neve előtt.

interfész Autó {
// állandó nyilatkozatok, ha vannak
int gumik = 4;
// módszer aláírások
int fények (int fényerő);
int turn (int gumik, húrirány) {
// valami kód
}
}

A kezelőfelület fejlécében láthatósági szintjét is felveheti a kulcsszó elé felület.

Az interfész értékei állandóak. Ezek az értékek alapértelmezés szerint nyilvános, statikus és végső. Ezért nincs szükség ezekre a kulcsszavakra az értékek deklarálásakor az interfész törzsében.

Összefüggő: A változó hatókör kezelése Java -ban

Az interfész törzse is rendelkezhet alapértelmezett, absztrakt, statikus mód. Ezek a módszerek alapértelmezés szerint nyilvános, így ezeket a hozzáférésmódosítókat nem kell feltüntetni deklarálásukkor.

Az absztrakt módszereket úgy fejezik ki, hogy elhagyják a módszer törzsének göndör zárójeleit. Lásd a fenti kód 7. sorát. A statikus metódusokat úgy deklaráljuk, hogy a metódus nevét a kulcsszóval folytatjuk statikus & alapértelmezett metódusokat a alapértelmezett módosító.

Most jó alkalom lenne megemlíteni, hogy az interfészen deklarált módszereket kell használnia minden olyan osztályban, amely ezt megvalósítja. Ha ezt nem teszi meg, a fordító "kényszeríti a szerződést", összeállítási hibát adva.

Az interfészek ezen sajátos tulajdonságainak lehetnek hátrányai. Tekintsünk egy esetet, amikor egy alkalmazásprogramozási felület (API) szolgáltatója úgy dönt, hogy további módszereket ad hozzá interfészeihez, de számos alkalmazás a régi felületeken alapul. A régi interfészeket programjaikban használó fejlesztőknek újra kell írniuk a kódjukat, ami nem praktikus.

Szóval, ez az, ahol alapértelmezett módszerek jönnek be. Lehetővé teszik az API -szolgáltatók számára, hogy további módszereket adjanak hozzá interfészeikhez, miközben bináris kompatibilitást biztosítanak a régebbi interfész verziókkal.

alapértelmezett int getDirection (karakterlánc -koordináták) {
// írjon egy kódot, hogy megadja az alapértelmezett megvalósítást
}

A fenti módszer megmutatja, hogyan hívják az alapértelmezett módszert getDirection kijelentik. Vegye figyelembe, hogy írásakor be kell vonnia egy alapértelmezett módszer megvalósítását.

Interfészek használata

Most definiáltuk az interfészeket a Java -ban, és folytathatjuk a megvalósítás módját. Ezt az alábbi részben találja.

Interfészek megvalósítása

Egy felület megvalósításához használja a kulcsszót hajtja végre ezt a szintaxist használva:

az A osztály P interfészt valósít meg {
}

Ne feledje, hogy az osztály összes interfész metódusát kell használnia. Ezt a szabályt csak akkor hagyhatja figyelmen kívül, ha az egyik módszer definíciója: alapértelmezett a felületen.

Összefüggő: Bevezetés a linkelt listák használatába a Java -ban

Ha azt szeretné, hogy az osztály több interfészt implementáljon, akkor a fejlécdeklarációban lévő vesszőkkel elválaszthatja őket.

Példa:

az A osztály P, Q, R interfészt valósít meg {
}

Ha az interfészt megvalósító osztály alosztály, használja az alábbi szintaxist:

az A osztály kiterjeszti a B eszközöket C, D {
}

Az interfészek lehetővé teszik a Java számos öröklését. Általában egy osztály csak egy osztályt bővíthet (egyetlen öröklés). Az interfészek az egyetlen módja annak, hogy a Java több öröklést is végrehajthasson.

Az interfészek más interfészeket is kiterjeszthetnek, akárcsak egy osztály egy másik osztályt. A gyermekfelület örökli a kiterjesztett felület metódusait.

Lásd az alábbi példát:

az A felület kiterjeszti a B { 
}

Azon kívül, hogy alapértelmezett módszereket használ az interfész módosításához anélkül, hogy a fejlesztőknek módosítania kellene jelenlegi programjait, a meglévő felületeket is kiterjesztheti.

Most van néhány alapvető ismerete a Java interfészekről

A Java interfészei az absztrakciót demonstrálják, az objektumorientált programozás négy pillérének egyikét. A polimorfizmus egyike ennek a négy pillérnek. Arra utal, hogy a módszer sokféle formát ölthet.

A polimorfizmust a Java -ban a módszer túlterhelése vagy a módszer felülbírálása révén valósíthatja meg. A Java olvasási listájának következő lépései ezeknek a funkcióknak a megvalósítása.

RészvényCsipogEmail
Polimorfizmus a Java -ban: Hogyan lehet túlterhelni vagy felülbírálni a módszereket

A módszer túlterhelésével és felülbírálásával csökkentse az Ön által írt kódot.

Olvassa tovább

Kapcsolódó témák
  • Programozás
  • Jáva
  • Programozási nyelvek
  • Programozás
A szerzőről
Jerome Davidson (25 cikk megjelent)

Jerome a MakeUseOf munkatársa. A programozásról és a Linuxról szóló cikkekkel foglalkozik. Szintén kriptorajongó, és mindig figyelemmel kíséri a kriptoipart.

További Jerome Davidson

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide