Rozdíl Mezi Implementacemi A Rozšířeními

Rozdíl Mezi Implementacemi A Rozšířeními
Rozdíl Mezi Implementacemi A Rozšířeními

Video: Rozdíl Mezi Implementacemi A Rozšířeními

Video: Rozdíl Mezi Implementacemi A Rozšířeními
Video: 6 ROZDÍLŮ OBJEMOVÉHO PRODLUŽOVÁNÍ ŘAS OD KLASICKÉHO PRODLUŽOVÁNÍ ŘAS! Lekce 13 2024, Duben
Anonim

Implementace vs Prodloužení

Implements and Extends jsou dvě klíčová slova nalezená v programovacím jazyce Java, která poskytují způsob přenosu přidané funkce do nové třídy. Klíčové slovo Implements se explicitně používá k implementaci rozhraní, zatímco klíčové slovo Extends se používá k dědění z (super) třídy. Vezměte prosím na vědomí, že koncepty dědičnosti a rozhraní jsou přítomny ve většině ostatních objektově orientovaných programovacích jazyků, jako jsou C # a VB. NET, ale nabízejí odlišnou syntaxi nebo klíčová slova pro použití těchto konceptů. Tento článek se zaměřuje pouze na klíčová slova Implements and Extends definovaná v Javě.

Rozšiřuje

Klíčové slovo Extends se používá k implementaci konceptu dědičnosti v programovacím jazyce Java. Dědičnost v podstatě poskytuje opětovné použití kódu tím, že umožňuje rozšíření vlastností a chování existující třídy o nově definovanou třídu. Když nová podtřída (nebo odvozená třída) rozšiřuje nadřazenou třídu (nebo nadřazenou třídu), podtřída zdědí všechny atributy a metody nadřazené třídy. Podtřída může volitelně přepsat chování (poskytnout metodám nové nebo rozšířené funkce) zděděné z nadřazené třídy. Podtřída nemůže rozšířit více super tříd v Javě. Proto nemůžete použít rozšíření pro vícenásobné dědictví. Chcete-li mít více dědičností, musíte použít rozhraní, jak je vysvětleno níže.

Nářadí

Klíčové slovo Implements v programovacím jazyce Java se používá pro implementaci rozhraní třídou. Rozhraní v Javě je abstraktní typ, který se používá k určení smlouvy, která by měla být implementována třídami, které toto rozhraní implementují. Obvykle rozhraní bude obsahovat pouze podpisy metod a konstantní deklarace. Jakékoli rozhraní, které implementuje konkrétní rozhraní, by mělo implementovat všechny metody definované v rozhraní nebo by mělo být deklarováno jako abstraktní třída. V Javě lze typ odkazu na objekt definovat jako typ rozhraní. Ale tento objekt musí mít buď hodnotu null, nebo by měl obsahovat objekt třídy, který implementuje dané konkrétní rozhraní. Pomocí klíčového slova Implements v Javě můžete implementovat více rozhraní do jedné třídy. Rozhraní nemůže implementovat jiné rozhraní. Rozhraní však může třídu rozšířit.

Rozdíl mezi implementacemi a rozšířeními

Ačkoli jsou Implements and Extends dvě klíčová slova, která poskytují mechanismus k dědění atributů a chování třídy v programovacím jazyce Java, používají se pro dva různé účely. Klíčové slovo Implements se používá pro třídu k implementaci určitého rozhraní, zatímco klíčové slovo Extends se používá pro podtřídu k rozšíření ze super třídy. Když třída implementuje rozhraní, musí tato třída implementovat všechny metody definované v rozhraní, ale když podtřída rozšiřuje super třídu, může nebo nemusí přepsat metody obsažené v nadřazené třídě. A konečně, dalším klíčovým rozdílem mezi Implements a Extends je to, že třída může implementovat více rozhraní, ale může se rozšířit pouze z jedné super třídy v Javě. Obecně je používání Implements (rozhraní) považováno za příznivější ve srovnání s použitím Extends (dědičnost),z několika důvodů, jako je vyšší flexibilita a schopnost minimalizovat vazbu. V praxi se proto upřednostňuje programování na rozhraní před rozšířením ze základních tříd.

Doporučená: