Különbség a megvalósítások és a kiterjesztések között

Különbség a megvalósítások és a kiterjesztések között
Különbség a megvalósítások és a kiterjesztések között

Videó: Különbség a megvalósítások és a kiterjesztések között

Videó: Különbség a megvalósítások és a kiterjesztések között
Videó: Iskola Vs. Börtön | Ugyanaz?🤫 2024, Július
Anonim

Implements vs Extends

Az Implements és Extends a Java programozási nyelvben található két kulcsszó, amely lehetőséget biztosít a hozzáadott funkciók új osztályba való átvitelére. Az Implements kulcsszót kifejezetten interfész megvalósítására használják, míg az Extends kulcsszót a (szuper) osztályból való öröklésre. Kérjük, vegye figyelembe, hogy az öröklődés és az interfészek fogalma megtalálható a legtöbb objektum-orientált programozási nyelvben, mint például a C és a VB. NET, de ezek eltérő szintaxist vagy kulcsszavakat kínálnak e fogalmak alkalmazásához. Ez a cikk csak a Java-ban definiált Implements and Extends kulcsszavakra összpontosít.

Kinyúlik

Az Extends kulcsszó az öröklődés fogalmának megvalósítására szolgál a Java programozási nyelvben. Az öröklődés lényegében a kód újrafelhasználását biztosítja azáltal, hogy lehetővé teszi egy meglévő osztály tulajdonságainak és viselkedésének kiterjesztését egy újonnan definiált osztállyal. Amikor egy új alosztály (vagy származtatott osztály) kiterjeszt egy szuperosztályt (vagy szülőosztályt), ez az alosztály örökli a szuperosztály összes attribútumát és metódusát. Az alosztály opcionálisan felülírhatja a szülőosztálytól örökölt viselkedést (új vagy bővített funkcionalitást biztosít a metódusoknak). Egy alosztály nem tud több szuperosztályt kiterjeszteni Java-ban. Ezért nem használhat kiterjesztéseket többszörös öröklődéshez. A többszörös öröklődéshez az alábbiak szerint kell interfészeket használnia.

Eszközök

Implements kulcsszó Java programozási nyelven egy interfész osztály általi megvalósítására szolgál. A Java interfésze egy absztrakt típus, amely egy szerződés megadására szolgál, amelyet az adott interfészt megvalósító osztályoknak kell megvalósítaniuk. Általában egy interfész csak metódus-aláírásokat és állandó deklarációkat tartalmaz. Minden interfésznek, amely egy adott interfészt valósít meg, meg kell valósítania az interfészben meghatározott összes metódust, vagy absztrakt osztályként kell deklarálnia. Java-ban az objektumhivatkozás típusa interfésztípusként definiálható. De ennek az objektumnak vagy nullának kell lennie, vagy egy osztály objektumát kell tartalmaznia, amely megvalósítja az adott interfészt. A Java Implements kulcsszó használatával több interfészt implementálhat egyetlen osztályba. Egy interfész nem valósíthat meg másik interfészt. Egy interfész azonban kiterjesztheti az osztályt.

Különbség az implementációk és a kiterjesztések között

Noha az Implements és Extends két kulcsszó, amelyek mechanizmust biztosítanak egy osztály attribútumainak és viselkedésének öröklésére a Java programozási nyelvben, két különböző célra használják őket. Az Implements kulcsszót egy osztályhoz használják egy bizonyos interfész megvalósításához, míg az Extends kulcsszót egy olyan alosztályhoz használják, amely egy szuperosztályból való kilépéshez. Amikor egy osztály interfészt valósít meg, ennek az osztálynak meg kell valósítania az interfészben definiált összes metódust, de ha egy alosztály kiterjeszt egy szuperosztályt, akkor felülírhatja a szülőosztályban szereplő metódusokat, vagy nem. Végül egy másik fontos különbség az Implements és az Extends között, hogy egy osztály több interfészt is megvalósíthat, de csak egy szuperosztályból terjedhet ki a Java-ban. Általánosságban elmondható, hogy az Implements (interfészek) használata kedvezőbbnek tekinthető az Extends (öröklődés) használatához képest, több okból is, például a nagyobb rugalmasság és a csatolás minimalizálása miatt. Ezért a gyakorlatban előnyben részesítik az interfészre való programozást az alaposztályokból való kiterjesztéssel szemben.

Ajánlott: