A különbség a végrehajtás és a kiterjesztés között

Anonim

Végrehajtások és kiterjesztések

A végrehajtás és a kiterjesztés két olyan kulcsszó, amelyet a Java programozási nyelvben találunk, és amely lehetővé teszi a hozzáadott funkciók új osztályba történő átvitelét. A kulcsszó végrehajtása kifejezetten egy interfész megvalósítására szolgál, míg a Kiterjesztett kulcsszó az (super) osztályból történő örökléshez használható. Kérjük, vegye figyelembe, hogy az örökség és az interfész fogalmai a legtöbb objektum-orientált programozási nyelvben megtalálhatók, például a C # és a VB. NET, de különböző szintaxist vagy kulcsszavakat kínálnak a fogalmak alkalmazásához. Ez a cikk csak a Java-ban definiált kulcsszavak végrehajtására és kiterjesztésére összpontosít.

Kiterjesztés

A kulcsszó meghosszabbítása az örökség koncepciójának Java programozási nyelvben történő végrehajtására szolgál. Az örökség lényegében kód újrahasználatot tesz lehetővé, lehetővé téve egy meglévő osztály tulajdonságainak és viselkedésének újonnan definiált osztály általi kiterjesztését. Ha egy új alosztály (vagy származtatott osztály) kiterjeszti a szuperosztályt (vagy szülőosztályt), akkor az alosztály örökölni fogja a szuperosztály minden attribútumát és módját. Az alosztály választhatóan felülbírálhatja a viselkedést (új vagy kiterjesztett funkcionalitást biztosít a módszerekhez), amelyet örökölt a szülő osztály. Az alosztály nem bővíthet több szuperosztályt Java-ban. Ezért nem használhatja a többszörös öröklés kiterjesztését. Annak érdekében, hogy többszörös öröklés legyen, az alábbiakban leírt interfészeket kell használni.

Végrehajtások

A Java programozási nyelvhez tartozó kulcsszó végrehajtása egy interfész egy osztály megvalósításához használható. A Java interfész olyan absztrakt típus, amelyet egy olyan szerződés meghatározására használnak, amelyet az adott felületet végrehajtó osztályok szerint kell végrehajtani. Általában egy interfész csak metódus aláírásokat és állandó deklarációkat tartalmaz. Minden olyan felületet, amely egy adott felületet valósít meg, végre kell hajtania az interfészben definiált összes módszert, vagy absztrakt osztályként kell megjelennie. A Java-ban az objektum-hivatkozás típusa lehet interfész-típus. De az objektumnak vagy nullnak kell lennie, vagy rendelkeznie kell egy osztály objektummal, amely végrehajtja azt az adott felületet. A Javítás Java kulcsszó használatával több felületet is végrehajthat egyetlen osztályra. Egy interfész nem képes másik interfészt megvalósítani. Azonban egy interfész kiterjesztheti az osztályt.

A végrehajtás és a kiterjesztés közötti különbség

Bár a végrehajtás és a kiterjesztés két olyan kulcsszó, amely egy olyan mechanizmust biztosít, amely örököli az attribútumokat és a viselkedést a Java programozási nyelv egy osztályához, két különböző célra használják őket. A kulcsszó végrehajtása egy osztály számára egy bizonyos felület végrehajtására szolgál, míg a Kiterjesztett kulcsszó egy alosztályhoz használható, amely kiterjeszthető egy szuperosztályból. Ha egy osztály egy interfészt valósít meg, akkor az adott osztálynak végre kell hajtania az interfészben definiált összes módszert, de ha egy alosztály kiterjeszti a szuperosztályt, akkor felülírhatja a szülő osztályban szereplő módszereket is.Végül egy másik fontos különbség a megvalósítások és a kiterjesztések között, hogy egy osztály több interfészt is megvalósíthat, de csak egy Java-szuperosztályból nyújtható. Általánosságban elmondható, hogy az alkalmazások (interfészek) használata előnyösebbnek tekinthető az Extends (öröklés) használatához képest, számos okból, mint például a nagyobb rugalmasság és a kapcsolás minimalizálása. Ezért a gyakorlatban az interfészhez való programozás előnyösebb, mint az alaposztályoktól.