Rozdíl mezi Implements a Extends

Rozdíl mezi Implements a Extends
Rozdíl mezi Implements a Extends

Video: Rozdíl mezi Implements a Extends

Video: Rozdíl mezi Implements a Extends
Video: ROZDÍLY MEZI STŘEDNÍ A VYSOKOU ŠKOLOU 👩‍🎓 NA CO SE PŘIPRAVIT❓ Rozvrh, předměty, zápisky✍, kolektiv 👫 2024, Červenec
Anonim

Implements vs Extends

Implements a Extends jsou dvě klíčová slova nalezená v programovacím jazyce Java, která poskytují prostředky pro přenos přidaných funkcí do nové třídy. Klíčové slovo Implements se používá výslovně pro implementaci rozhraní, zatímco klíčové slovo Extends se používá pro 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 je 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 a Extends definovaná v Javě.

Prodlužuje

Klíčové slovo Extends se používá k implementaci konceptu dědičnosti v programovacím jazyce Java. Dědičnost v podstatě zajišťuje 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 nadtřídu (nebo nadřazenou třídu), tato podtřída zdědí všechny atributy a metody nadtřídy. Podtřída může volitelně přepsat chování (poskytnout metodám novou nebo rozšířenou funkčnost) zděděné od nadřazené třídy. Podtřída nemůže rozšířit více supertříd v Javě. Rozšíření proto nelze použít pro vícenásobnou dědičnost. Abyste získali vícenásobnou dědičnost, musíte použít rozhraní, jak je vysvětleno níže.

Implements

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é implementují toto rozhraní. Obvykle rozhraní bude obsahovat pouze podpisy metod a deklarace konstant. 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í být buď null, nebo by měl obsahovat objekt třídy, která implementuje toto 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 Implements a Extends

Přestože jsou Implements a Extends dvě klíčová slova, která poskytují mechanismus pro dědění atributů a chování třídy v programovacím jazyce Java, používají se ke dvěma různým účelům. 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í z nadtřídy. Když třída implementuje rozhraní, musí tato třída implementovat všechny metody definované v rozhraní, ale když podtřída rozšiřuje supertřídu, může nebo nemusí přepsat metody zahrnuté v nadřazené třídě. 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žití Implements (rozhraní) považováno za výhodnější než použití Extends (dědění), a to z několika důvodů, jako je vyšší flexibilita a schopnost minimalizovat vazbu. Proto je v praxi preferováno programování na rozhraní před rozšířením ze základních tříd.

Doporučuje: