Erinevus Java pärilikkuse ja liidese vahel

Peamine erinevus - pärimine vs liides Java-s
 

Java on Sun Microsystems'i välja töötatud programmeerimiskeel. Java saab kasutada mitmesuguste rakenduste arendamiseks. See on mitme paradigmaga keel, mis toetab objektorienteeritud, struktureeritud jne. Java peamine eelis on see, et see toetab objektorienteeritud programmeerimist (OOP). Programmeerija saab luua klasse ja objekte. OOP-is on neli sammast. Need on pärimine, polümorfism, abstraktsioon ja kapseldumine. Pärand ja liidesed on seotud OOP-iga. võtme erinevus päranduse ja liidese vahel on see pärand on uute klasside tuletamine olemasolevatest klassidest ja liides abstraktsete klasside ja mitme pärimise rakendamiseks.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on Java pärand?
3. Mis on Java liides?
4. Java pärilikkuse ja liidese sarnasused
5. Kõrvuti võrdlus - Java pärimine vs liides tabelina
6. Kokkuvõte

Mis on Java pärand??

Pärimisega on võimalik koodi taaskasutatavust saavutada. Pärimine aitab olemasoleva klassi atribuute ja meetodeid uuesti kasutada. Vana klassi abil uue klassi tuletamise mehhanismi nimetatakse päranduseks. Vana klassi tuntakse vanemateklassina või superklassina. Tuletatud klassi nimetatakse lasteklassiks või alaklassiks.

Java pärimise süntaks on järgmine.

klassi alamklassi_nimi laiendab superklassi_nime

muutuv deklaratsioon;

meetodi deklareerimine;

Pärimise kontseptsiooni saab selgitada järgmise näite abil. Oletame, et on olemas klass nimega A järgmiselt.

avalik klass A

avalik tühine summa ()

System.out.println (“Sum”);

Kui soovime lisada uue meetodi olemasolevat klassi muutmata, saame seda teha järgmiselt.

avalik klass B

avalik tühine sub ()

System.out.println (“Sub”);

Programmeerija saab pärandvara kasutada klassi A summa kasutamiseks ().

avalik klass B laiendab klassi A

avalik tühine sub ()

System.out.println (“Sub”);

Põhifunktsioonis on võimalik pärandi abil luua objekt B ja helistada alam (), mis kuulub klassi B ja summa (), mis kuulub klassi A.

avalik staatiline tühine pea (string [] args)

B obj = uus B ();

obj.sub ();

obj.sum ();

Pärandusi on erinevaid. Need on ühekordne pärand, mitmikpärand, mitmetasandiline pärand ja hierarhiline pärand. Sisse üksik pärand, seal on üks põhiklass ja üks tuletatud klass. Sisse mitmetasandiline pärand, klasse on kolm, nimelt põhiklass, vaheklass ja tuletatud klass. Vaheklass pärib põhiklassist ja tuletatud klass pärib keskklassist. Sisse hierarhiline pärand, seal on üks põhiklass ja palju tuletatud klasse. On olemas spetsiaalne tüüp, mida nimetatakse Hübriidne pärand. See on kahe või enama pärandiliigi kombinatsioon.

Joonis 01: Pärimine

Sisse Mitu pärimist on palju põhiklasse ja üks tuletatud klass. Oletame, et klass A ja B on põhiklassid. C klass on tuletatud klass. Kui nii A- kui ka B-klassil on sama meetod ja programmeerija kutsub seda meetodit tuletatud klassist, põhjustab see ebaselgust. Kahe klassi pärimine võib põhjustada kompileerimise aja vea. Seetõttu ei toeta Java Java mitut pärimist. Selle probleemi lahendamiseks saab kasutada liidest.

Mis on Java liides??

Abstraktsioon on protsesside üksikasjade peitmine ja kasutajale ainult funktsioonide kuvamine. Abstraktsiooni saab saavutada abstraktsete klasside või liideste abil. Abstraktne meetod on meetod, millel puudub rakendus. Klass, kus kasutatakse vähemalt ühte abstraktset meetodit, on abstraktne klass. Abstraktse klassi näide on järgmine.

abstraktne klass A

abstraktne tühine summa ();

Oletame, et A ja B on kaks abstraktset klassi. A ja B abstraktsete meetodite rakendamiseks luuakse uus klass C. Siis peaksid klass C laiendama nii A kui ka B. B aga Java ei toeta mitut pärimist. Seetõttu peaksid kasutama liideseid. Meetodite deklareerimiseks võib kasutada liideseid, kuid meetodeid pole võimalik määratleda. Objekti pole liideste abil võimalik luua. Klass C peaks rakendama kõiki liidese A ja B meetodeid.

liides A

tühine summa ();

liides B

tühine sub ();

C-klassi tööriistad A, B

avalik tühine summa ()

System.out.println (“Summeerimine”);

avalik tühine sub ()

System.out.println (“lahutamine”);

Nüüd on põhiprogrammis võimalik luua C objekt ja helistada mõlemale meetodile.

avalik staatiline tühine pea (string [] args)

C obj = uus C ();

obj.sum ();

obj.sub ();

Liideseid saab kasutada mitme pärimise rakendamiseks.

Teine liideste kasutamine on see, et see pakub turvalisust. Vaadake allolevat koodi.

liides A

tühine summa ();

B-klassi tööriistad A

avalik tühine summa ()

System.out.println (“Summeerimine”);

avaliku void korrutada ()

System.out.println (“korrutamine”);

B-objekti loomisel on võimalik kutsuda mõlemad meetodid summaks () ja korrutamiseks (). Kui programmeerija soovib funktsiooni multiply () kasutamist piirata, on see võimalik järgmiselt.

avalik staatiline tühine pea (string [] args)

A obj = uus B ();

obj.sum ();

A obj = uus B (); loob objekti. See on A-tüüpi ja mälu eraldatakse B-na. Võimalik on helistada sum (), kuid ei saa käivitada korrutamist (). See piirang toimub liideste abil.

Millised on Java pärandi ja liidese sarnasused??

  • Mõlemad kontseptsioonid on seotud objektorienteeritud programmeerimisega
  • Mõlemad esindavad IS-A suhet.

Mis vahe on Java pärandil ja liidesel??

Pärand vs liides Java-s

Pärand on OOP-kontseptsioon uute klasside tuletamiseks olemasolevatest klassidest. Liides on OOP-is mehhanism abstraktsiooni ja mitmekordse pärimise rakendamiseks.
Kasutamine
Pärimine pakub koodi korduvkasutatavust. Liidesed pakuvad abstraktsiooni ja mitmekordset pärimist.

Kokkuvõte - pärimine vs liides Java-s

Java on mitme paradigma programmeerimiskeel, mis toetab objektorienteeritud programmeerimist. Pärand ja liidesed on seotud objektorienteeritud programmeerimisega. Päranduse ja liidese erinevus seisneb selles, et pärimisel tuleb olemasolevatest klassidest tuletada uued klassid ja liidesed on abstraktsete klasside ja mitme pärimise rakendamine.

Laadige Java Java alla pärandi ja liidese PDF-versioon

Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige alla PDF-versioon siit. Java pärandi ja liidese erinevus

Viide:

1.Punkt, juhendid. “Java pärand”., Õpetuste punkt, 31. oktoober 2017. Saadaval siin 
2.Punkt, juhendid. Java liidesed. , Õpikute punkt, 31. oktoober 2017. Saadaval siin 

Pilt viisakalt:

1.'CPT-OOP-pärandus-jalgrattad 'autor: Pluke - oma töö, (avalikus omanduses), Commonsis Wikimedia