Dědičnost v prostředí Java OOPs s příkladem

co is Inheritance?

Inheritance is a mechanism in which one class acquires the property of another class. Například dítě zdědí rysy svých rodičů. S dědičností můžeme znovu použít pole a metody existující třídy. Dědičnost tedy usnadňuje opětovnou použitelnost a je důležitým konceptem OOP.

V tomto výukovém programu se naučíte –

  • Typy dědičnosti
  • Dědičnost v Javě
  • Jáva Příklad dědičnosti
  • Super klíčové slovo
  • Naučte se dědičnost v OOP pomocí příkladu

Druhy dědičnosti

Existují Různé typy dědičnosti v Javě:

Single Inheritance:

V Single Inheritance jedna třída rozšiřuje další třídu (pouze jedna třída).

Single Inheritance

Ve výše uvedeném diagramu třída B rozšiřuje pouze třídu A. Třída A je super třída a Třída B je podtřída.

Vícenásobná dědičnost:

V případě vícenásobné dědičnosti jedna třída rozšiřuje více než jedna třída. Java nepodporuje vícenásobné dědění.

Vícenásobná dědičnost

Podle výše uvedeného diagramu třída C rozšiřuje obě třídy A a B.

Víceúrovňová dědičnost:

Ve víceúrovňové dědičnosti může jedna třída dědit z odvozené třídy. Odvozená třída se proto stává základní třídou pro novou třídu.

Víceúrovňová dědičnost

Jak je znázorněno v diagramu, třída C je podtřídou B a B je a podtřídy třídy A.

Hierarchická dědičnost:

V hierarchické dědičnosti je jedna třída zděděna mnoha podtřídami.

Hierarchická dědičnost

Podle výše uvedeného příkladu dědí třídy B, C a D totéž třída A.

Hybridní dědičnost:

Hybridní dědičnost je kombinací jednoduché a vícenásobné dědičnosti.

Hybrid Inheritance

Podle výše uvedeného příkladu jsou všichni veřejní a chránění členové třídy A zděděné do třídy D, nejprve přes třídu B a za druhé přes třídu C.

Poznámka: Java nepodporuje hybridní / vícenásobnou dědičnost

Dědičnost v Javě

JAVA INHERITANCE je mechanismus, ve kterém jedna třída získává vlastnost jiné třídy. V Javě, když mezi dvěma třídami existuje vztah „Is-A“, použijeme dědičnost. Rodičovská třída se nazývá super třída a zděděná třída se nazývá podtřída. Klíčové slovo extends používá podtřída k zdědění funkcí super třídy.

Dědičnost je důležité, protože vede k opakovanému použití kódu.

Syntaxe Java Inheritance:

class subClass extends superClass { //methods and fields } 

Java Inheritance E xample

Super klíčové slovo

Super klíčové slovo je podobné klíčovému slovu „toto“.

Klíčové slovo super lze použít pro přístup k jakémukoli datovému členu nebo metodám nadřazené třídy.

Super klíčové slovo lze použít na úrovni proměnné, metody a konstruktoru.

Syntaxe:

super.<method-name>();

Naučte se dědičnost v OOP s příkladem

Zvažte stejnou bankovní aplikaci z předchozího příkladu .

Měli bychom otevřít dva různé typy účtů, jeden pro ukládání a druhý pro kontrolu (označovaný také jako aktuální).

Pojďme porovnat a prostudovat, jak můžeme přistupovat ke kódování z pohledu strukturovaného a objektově orientovaného programování. Strukturální přístup: Ve strukturovaném programování vytvoříme dvě funkce –

  1. Jedna pro výběr
  2. A druhá pro vkladovou akci.

Protože fungování těchto funkcí zůstává ve všech účtech stejné.

Přístup OOP: Při použití programovacího přístupu OOP. Vytvořili bychom dvě třídy.

  • Každá má implementaci funkcí vkladu a výběru.
  • Tím se zbytečně nadbytečné práce.

Žádost o změnu softwaru

Nyní došlo ke změně ve specifikaci požadavků pro něco, co je v softwarovém průmyslu tak běžné. Měli byste přidat funkční privilegovaný bankovní účet s kontokorentním úvěrem. Jako pozadí je kontokorent možnost, kde můžete vybrat částku vyšší, než je k dispozici zůstatek na vašem účtu.

Strukturální přístup: Pomocí funkčního přístupu musím upravit svoji funkci stažení, který je již testován a základem. A přidat způsob, jak je uvedeno níže, se postará o nové požadavky.

Přístup OOP: Při použití přístupu OOP stačí napsat novou třídu s jedinečnou implementací funkce výběru. Nikdy jsme se nedotkli testované části kódu.

Další požadavek na změnu

Co když se požadavek změní dále? Rád přidáte účet na kreditní kartě s vlastním jedinečným požadavkem na vklady.

Strukturální přístup: Pomocí strukturálního přístupu musíte změnit testovaný kus kódu vkladu znovu.

Přístup OOP: Ale pomocí objektově orientovaného přístupu stačí vytvořit novou třídu s jedinečnou implementací metody vkladu (na obrázku níže zvýrazněna červeně).

Takže i když se strukturální programování zdá zpočátku jako snadný přístup, OOP dlouhodobě vyhrává.

Výhoda dědičnosti v OOP

Je ale možné argumentujte, že ve všech třídách máte opakované části kódu.

Chcete-li to překonat, vytvoříte nadřazenou třídu, řeknete „účet“ a implementujete stejnou funkci vkladu a výběru. A udělejte podřízené třídy zděděnou třídou „účtu“. Aby měli přístup k funkcím výběru a vkladu ve třídě účtu.

Funkce nemusí být implementovány jednotlivě. Toto je dědičnost v Javě. .

Write a Comment

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *