Ako implementovať viacnásobné dedenie v Jave?



Tento článok vám pomôže implementovať viacnásobnú dedičnosť v Jave prostredníctvom rozhraní a nadviazať na ňu programovou ukážkou.

Tento článok vám pomôže implementovať koncept, ktorý inak nie je možné implementovať v Jave. Mám na mysli Multiple . V tomto článku sa dotkneme nasledujúcich ukazovateľov,

Začnime teda týmto článkom venovaným viacnásobnej dedičnosti v jazyku Java,





Viacnásobné dedenie v Jave

Objektovo orientované programovanie poskytuje používateľovi vlastnosť viacnásobného dedenia, pričom trieda môže dediť vlastnosti viac ako jednej nadradenej triedy. Jednoduchšie povedané, viacnásobné dedičstvo znamená triedu rozširujúcu viac ako jednu triedu.

Programovací jazyk Java nedokáže túto funkciu priamo využiť. Dá sa to dosiahnuť nepriamo použitím rozhraní.



Pokračujeme v tomto článku o viacerých dedičstvách v Jave,

Ukážkový program

V nasledujúcom príklade máme dve rozhrania: Motorka a Cyklus. Rozhranie pre motorku sa skladá z atribútu rýchlosť. Metóda je totalDistance (). Rozhranie cyklu sa skladá z atribútu distance () a rýchlosti metódy ().

Obe tieto rozhrania implementuje trieda TwoWheeler.



interface MotorBike {int speed = 50 public void totalDistance ()} interface Cycle {int distance = 150 public void speed ()} public class TwoWheeler implements MotorBike, Cycle {int totalDistance int avgSpeed ​​public void totalDistance () {totalDistance = speed * distance System .out.println ('Celková prejdená vzdialenosť:' + totalDistance)} rýchlosť verejnej neplatnosti () {int avgSpeed ​​= totalDistance / speed System.out.println ('Udržiavaná priemerná rýchlosť:' + avgSpeed)} public static void main (String args []) {TwoWheeler t1 = nový TwoWheeler () t1.totalDistance () t1.speed ()}}

Výkon

čo je podreťazec v jave

Celková prejdená vzdialenosť: 7500

Priemerná udržiavaná rýchlosť: 150

Vyššie uvedený program sa vyhýba nejasnostiam, aj keď sa namiesto rozhraní používajú triedy. Java to však nepodporuje. Keď majú obe triedy rovnakú metódu, kompilátor nie je schopný rozhodnúť o spôsobe, ktorý sa má volať. Používanie rozhrania sa vyhýba tejto nejednoznačnosti, pretože metódy rozhrania sú predvolene abstraktné.

Pokračujeme v tomto článku o viacerých dedičstvách v Jave,

Viacnásobné dedičstvo bez nejasností

interface InterfaceOne {public void disp ()} interface InterfaceTwo {public void disp ()} public class Main implements InterfaceOne, InterfaceTwo {@Override public void disp () {System.out.println ('display () method implementation')} public static void main (String args []) {Main m = new Main () m.disp ()}}

Výkon

implementácia metódy display ()

Metóda Main implementuje obe rozhrania, tj. InterfaceOne a InterfaceTwo. Vykonáva sa bez nejasností.

Pozrime sa na ďalší príklad na lepšie pochopenie viacnásobného dedičstva:

rozhranie Sing

{

predvolená void singRock () {

System.out.println („Spievam rock“)

}

}

rozhranie Dance

{

predvolená void danceSlow () {

System.out.println („Tancujem pomaly!“)

}

}

verejná trieda Ľudské náradie Spievaj, tancuj

{

public static void main (reťazec [] args)

{

Človek h = nový človek ()

h.singRock ()

h.danceSlow ()

}

čo je hojdačka v Jave

}

Výkon

Spievam rock

Tancujem pomaly!

Viacnásobné dedičstvo sa dá teda dosiahnuť metódami, o ktorých sa hovorí v tomto článku.

Tak sme sa dostali na koniec tohto článku o „Viacnásobnej dedičnosti v Jave“. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.