Co je dědičnost Java?

Pokud jde o Javu, lze dědičnost použít, když třída touží zdědit vlastnosti jiné existující třídy. Třída, která si obvykle přeje využít vlastnost jiné třídy, je známá jako podtřída, zatímco třída, jejíž vlastnosti musí být použity, je známá jako nadtřída.

Ve skutečnosti by v Javě měly být všechny třídy odvozeny od nějaké třídy. To vede k dotazu „Kde to všechno začne?“ Nejvyšší třída, třída, ze které jsou odvozeny jiné třídy, je třída Object popsaná v java.lang. Objekt je kořenem struktury tříd

Níže uvedený obrázek ukazuje tyto dva typy tříd:

Podtřída sleduje stav a chování, jako jsou proměnné a metody z nadřazené třídy. Podtřída může používat pouze položky zděděné od bytí nadřazené bytosti, a také podtřída to může změnit nebo přepsat. Když tedy spadáte do hierarchie, třídy se stanou stále konkrétnějšími:

Zdědění z objektu

Každá třída zdědí přímo od třídy Object

Ve výše uvedeném diagramu

public class Wholesaler rozšiřuje Object (…… ..)

public class Retailer rozšiřuje velkoobchodníka (…… ..)

surovina pro veřejnou třídu (…………)

Klíčové slovo rozšíření ukazuje nadřazenou třídu, z níž je podtřída obvykle zděděna, a nelze ji použít jako identifikátory

Ve veřejné třídě Raw-Material není třeba rozšiřovat klíčové slovo, které přímo přistupuje k třídě Object.

Definice dědičnosti Java

Podtřída je třída, která pochází z jiné třídy. Podtřída sleduje stav a chování všech svých předků. Koncept nadtřídy identifikuje přímého předka třídy a všechny jejich předcházející třídy.

Porozumění dědičnosti Java s příkladem

Dědičnost popisuje vztah is-a mezi Superclass a Subclass. Rozšiřuje a implementuje klíčové pojmy, které dávají přednost vyjádření dědičnosti v Javě.

Níže jsou uvedeny různé typy dědičnosti Java.

  1. Jednotné dědictví
  2. Víceúrovňové dědictví
  3. Hierarchické dědictví
  4. Vícenásobné dědictví
  5. Hybridní dědičnost

  • Jednotné dědictví

Pokud třída rozšiřuje další třídu, taková forma dědičnosti se nazývá dědičnost jedné úrovně.

public class A (
………..
)
public class B extends A (
………..
)

Třída B má rozšířenou třídu A, a proto třída B používá metodu displayA () třídy A, protože je to vlastní metoda.

  • Víceúrovňové dědictví

Pokud třída rozšiřuje další třídu, která může být sama rozšířena jednoduše o další třídu, pak se taková forma dědičnosti nazývá víceúrovňová dědičnost.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends B ( ……………… )

Výstup

Třída A je rozšířena jednoduše o třídu B a poté je třída B sama o sobě rozšířena o třídu C, která poskytuje třídě C přímý přístup k metodě displayA () a displayB () třídy A a také B jednoduše tím, že se k nim dostanete objekt třídy C (bez nutnosti generovat objekty třídy A a B).

  • Hierarchické dědictví

Když několik tříd zdědí stejnou třídu, je to známo jako hierarchické dědictví. Například třídy B a C rozšiřují stejnou třídu A.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends A ( ……………… )

Pokud třída má více než jednu podřízenou třídu (podtřídy), stejně jako v podstatě více než jednu podřízenou třídu, mají podobnou nadřazenou třídu, jednoduše se takový typ dědičnosti nazývá hierarchická dědičnost.

Píšeme kód, kde třída B a C rozšiřuje třídu A

  • Vícenásobné dědictví

Syntaxe pro vícenásobnou dědičnost

public class A ( ……………… )
public class B extends A ( ……………… )
public class D extends A, B, C ( ……………….. )

Poznámka: V java není podporováno vícenásobné dědictví.

Java nepodporuje více dědictví. Důvodem je, že vícenásobná dědičnost způsobuje nejednoznačnost, a proto ji Java nepoužívá. Diamond problém pomáhá s pochopením tohoto scénáře.

Vícenásobné dědictví v Javě však lze dosáhnout pomocí rozhraní. Bez ohledu na to, zda mnoho množství rozhraní ve třídě s přesnou metodou, neexistuje náznak dvojznačnosti, protože metody uvnitř rozhraní jsou často abstraktní.

Druhým způsobem je použití rozhraní. Rozhraní se začnou stávat důležitými.

Rozhraní specifikuje formu svých metod, ale neuvádí žádné podrobnosti implementace; proto si o tom můžete myslet podobně jako o prohlášení třídy.

rozhraní můžete vytvořit pomocí klíčového slova rozhraní:

interface C
(
…………………………
)
interface b
(
…………………….
)
class a implements b, c
(
………………………
)

Můžeme použít tato dvě rozhraní s klíčovým slovem implementuje:

  • Hybridní dědičnost

Hybridní dědičnost je většinou směsí více než jednoho typu dědičnosti. Jako když třída A a B rozšiřuje třídu C Plus, další třída D rozšiřuje třídu A poté, co se může jednat o hybridní dědičnost, protože se jedná o rozmanitost jediné a hierarchické dědičnosti.

Výstup

Zastavení dědičnosti konečným klíčovým slovem

Můžete zabránit tomu, aby byla třída podtřída tím, že prohlásíte celou třídu za finální, jak je uvedeno níže

final class animal
(
public void breathe()
(
System.out.println("Breathing…");
)
)
class dog extends animal
(
public void breathe()
(
System.out.println("Barking…");
)
)
public class history
(
public static void main(String() args)
(
System.out.println("Creating an animal…");
animal a = new animal();
a.breathe();
System.out.println();
System.out.println("Creating an bulldog…");
dog d = new dog();
d.breathe();
)
)

Pokud se pokusíte spustit tento kód:

Nelze podtřídit finální třídy: třída třída zvířat pes rozšiřuje chybu 1 zvířete.

Vytváření konstant s konečným klíčovým slovem

Chcete-li zabránit přepsání metody a zabránit podtřídě. V Javě existuje další využití pro finální použití, které můžete použít k deklaraci konstant.

Podle níže uvedeného kódu:

public class history
(
Public static void main(String() args)
(
final int a = 4;
a = 5;
)
)

Pokud se pokusíte spustit tento kód:

Konečné proměnné nelze přiřadit hodnotu: Vygenerována chyba 1

Nejlepší Java dědické společnosti

  1. Intel
  2. VM ware
  3. Adobe
  4. Nvidia
  5. Amazonka
  6. Cisco
  7. Akamai
  8. Elektronika Philips.
  9. IBM
  10. MÍZA

Výhody dědičnosti Java

Považován za jeden z hlavních rysů dědičnosti se používá ke snížení množství duplikátu kódu v aplikační formě sdílením obyčejného kódu mezi mnoha podtřídami. Tam, kde lze stejný kód získat ve dvou souvisejících třídách, lze hierarchii normálně refaktorizovat, aby se obyčejný kód přenesl do vzájemné nadřazené třídy. Výsledkem bude nadřazená organizace kódu a jednodušší kompilační jednotky menší velikosti.

  • Dědičnost : Může vytvořit aplikační kód mnohem přizpůsobivější pro úpravy jednoduše proto, že třídy, které zdědí od standardní nadřazené třídy, mohou být použity zaměnitelně. Když je návratovým typem procedury nadřazená třída.
  • Opětovné použití - Schopnost řídit veřejné metody základní třídy bez přepisování podobných.
  • Rozšiřitelnost - rozšiřuje logiku základní třídy podle obchodní logiky odvozené třídy.
  • Skrývání dat - základní třída může chtít zachovat několik dat v soukromí, takže je odvozenou třídou nikdy neupravuje.
  • Převažující - Díky dědičnosti se nám podaří přepsat metody základní třídy, takže v odvozené třídě lze dokončit důležitou implementaci metody základní třídy.

Proč bychom měli používat Java Inheritance?

Dědičnost je efektivní programovací koncept, ale může být jednoduché použití nevhodně. Rozhraní jsou obvykle účinnější a efektivnější.

Dědičnost je nejlepší volbou, pokud:

  • Vaše hierarchie dědičnosti znamená vztah „je-a“, ale ne vztah „má-a“.
  • Můžete znovu použít kód ze základních tříd.
  • Možná budete muset použít podobnou třídu a způsoby na odlišné typy dat.
  • Hierarchie tříd je velmi mělká a spolu s dalšími vývojáři ve skutečnosti nepřispívají mnoha dalšími fázemi.
  • Chcete vytvořit globální variace odvozených tříd úpravou základní třídy.

Proč potřebujeme Java Inheritance?

Java Inheritance je koncept OOP (objektově orientovaného programování). Hlavním účelem dědičnosti je vždy vytvořit určitou část kódu projektu opakovaně použitelnou s možností následného přidání nebo odstranění vybraných funkcí. Podřízená třída může zdědit nebo přepsat vybrané metody z nadřazené třídy, kterou zdědila; jedná se o metody, aniž by došlo k výměně samotné mateřské třídy. To může zahrnovat jeho vlastní nové metody, které se obvykle nenacházejí v podřízené třídě.

  • Zapouzdření: Když zahrnujeme některé běžné atributy, pak je zapouzdřujeme do nadřazené třídy a jednoduše poskytujeme konkrétní atributy podřízeným třídám.
  • Polymorfismus : Mohli bychom použít polymorfismus s Dědičností v Javě. Aby se zajistilo podle formy třídy dítěte, přesné třídy působí odlišným způsobem.
  • Opětovné použití kódu : Použití dědičnosti může být užitečné pro opakované použití kódu.
  • Efektivita : Při psaní kódu může být efektivní použít dědičnost. To by mohlo zvýšit rychlost úkolu.

Stejně jako v reálném životě, dítě mohlo zdědit vybrané rysy od svých rodičů a prostřednictvím vybraných environmentálních variací vyvinout nové rysy nebo zrušit vlastnosti, které dosáhlo od svých rodičů.

Kdo je tím pravým publikem pro učení technologií Java Inheritance?

Když přemýšlíme o tom, co by se mělo dělat s Java Inheritance, několik vývojářů uvažuje o budování:

Android Developer -

Android je nejúčinnějším mobilním operačním systémem na dnešním konkurenčním trhu s aktivací více než 1, 5 milionu nových zařízení denně. Školení Androidu vám nabízí praktické zkušenosti s vytvářením i konstrukcí snadno složitých aplikací pro Android, díky čemuž jste zdatní při získávání své vysněné IT práce. Mohli byste mít vynikající historii v programování, ale školení v systému Android vám pomůže zlepšit své schopnosti.

Android rozhodně roste, takže když se naučíte základní principy i funkce, vaše sada dovedností poroste navíc. Vývojáři mohou vytvářet hry a aplikace pro uživatele systému Android a šířit je po otevřeném světě. Školení Androidu patří mezi nejinteligentnější skutečnosti, které může vývojář dosáhnout, takže má mnoho výhod.

Vývojář IoT -

O internetu věcí (IoT) v současnosti slyšíte docela dost. IoT je všude kolem, od senzorů v obrovských průmyslových strojích v inteligentních zařízeních, jako jsou digitální bezpečnostní kamery. Věděli jste, že populární termostat Nest bude záviset na pozoruhodné kombinaci Java a AI? Několik chytrých prodejních automatů je závislých na jazyce Java a pracuje se softwarem ke sledování zásob, teploty, vlhkosti a regionu. Kromě toho je v Java Inheritance navrženo několik aplikačních technologií, které lze nosit.

Analýza velkých dat -

V dnešní době je analýza velkých dat jádrem jednoho z nejzajímavějších použití technologie. Výzkumné studie v několika klíčových odvětvích používají inovativní techniky analýzy dat, aby se naučily nové vzory ve velkém množství dat a také lépe zjistily složité procesy.

Vestavěné systémy -

Vestavěné systémy, počínaje malými čipy až po specializované počítače, jsou ve skutečnosti součástí větších elektromechanických zařízení provádějících odhodlané úkoly. Mnoho zařízení, stejně jako karty SIM, přehrávače disků Blu-ray, měřiče spotřeby a televizory, používají vestavěná řešení Java. Podle společnosti Oracle využívá Java 100% přehrávačů disků Blu-ray Disc a 125 milionů televizních zařízení.

Jak vám tato technologie pomůže v kariérním růstu?

Java patří mezi nejvýznamnější a v podstatě používaný programovací jazyk na světě informačních technologií. Java je navíc základním programovacím jazykem, který se čerstvý člověk může také snadno naučit. Podle zprávy společnosti Oracle Java běží ve více než 3 miliardách zařízení ..!

Java je stálezelený programovací jazyk. Téměř všechny známé společnosti, včetně IBM, Infosys, CTS a TCS, používají Java jako svůj ideální programovací jazyk.

Dnes mohou vývojáři stávajících trendů Java, se kterými mohou hrát, níže,

  1. Java s Selenium Automation Tester
  2. Java s DevOps
  3. Java s vývojem Hadoop

Závěr

Dědičnost je výkonná zbraň Java, která může pomoci uspět v nejvhodnějším jazyce. Může pomoci minimalizovat duplicitu kódu a snížit chyby. S kódem nastaveným v nadřazené třídě již nemůžete raději psát podobný kód pro mnoho podřízených tříd se stejnými charakteristikami. Dědičnost v Javě proto provádí opakované použití kódu, aby bylo jistě lepší snadný přístup ke koncovým uživatelům.

Doporučené články

Toto byl průvodce Co je dědičnost Java. Zde jsme diskutovali základní koncept, požadované dovednosti, kariérní růst a výhody dědičnosti Java. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je to umělá inteligence
  2. Co je to JavaScript?
  3. Co je to HTML?
  4. Co je Azure?
  5. Konečné klíčové slovo v Javě

Kategorie: