Razlika med dedovanjem in vmesnikom v Javi

Kazalo:

Razlika med dedovanjem in vmesnikom v Javi
Razlika med dedovanjem in vmesnikom v Javi

Video: Razlika med dedovanjem in vmesnikom v Javi

Video: Razlika med dedovanjem in vmesnikom v Javi
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Julij
Anonim

Ključna razlika – dedovanje proti vmesniku v Javi

Java je programski jezik, ki ga je razvil Sun Microsystems. Java se lahko uporablja za razvoj različnih aplikacij. Je jezik z več paradigmami, ki podpira objektno usmerjeno, strukturirano itd. Glavna prednost Jave je, da podpira objektno usmerjeno programiranje (OOP). Programer lahko ustvari razrede in objekte. V OOP so štirje stebri. So dedovanje, polimorfizem, abstrakcija in enkapsulacija. Dedovanje in vmesniki so povezani z OOP. Ključna razlika med dedovanjem in vmesnikom je v tem, da dedovanje izpelje nove razrede iz obstoječih razredov, vmesnik pa izvaja abstraktne razrede in večkratno dedovanje.

Kaj je dedovanje v Javi?

Dedovanje lahko doseže ponovno uporabnost kode. Dedovanje pomaga ponovno uporabiti atribute in metode obstoječega razreda. Mehanizem izpeljave novega razreda z uporabo starega razreda se imenuje dedovanje. Stari razred je znan kot nadrejeni razred ali super razred. Izpeljani razred se imenuje podrazred ali podrazred.

Sintaksa dedovanja Jave je naslednja.

razred ime_podrazreda razširja ime_nadrazreda {

deklaracija spremenljivke;

deklaracija metode;

}

Koncept dedovanja lahko razložimo z naslednjim primerom. Predpostavimo, da obstaja razred z imenom A, kot sledi.

javni razred A{

javna void sum(){

System.out.println(“Sum”);

}

}

Če želimo dodati novo metodo, ne da bi spremenili obstoječi razred, lahko to storimo na naslednji način.

javni razred B{

javni void sub(){

System.out.println(“Sub”);

}

}

Programer lahko uporabi dedovanje za uporabo razreda A sum().

javni razred B razširja razred A{

javni void sub(){

System.out.println(“Sub”);

}

}

V glavni funkciji je mogoče z dedovanjem ustvariti objekt B in poklicati sub(), ki pripada razredu B, in sum(), ki pripada razredu A.

javni statični void main(String args){

B obj=novo B();

obj.sub();

obj.sum();

}

Obstajajo različne vrste dedovanja. So enojno dedovanje, večkratno dedovanje, večnivojsko dedovanje in hierarhično dedovanje. Pri enojnem dedovanju obstaja en osnovni razred in en izpeljan razred. Pri dedovanju na več ravneh obstajajo trije razredi, in sicer osnovni razred, vmesni razred in izpeljani razred. Vmesni razred deduje od osnovnega razreda, izpeljani razred pa deduje od vmesnega razreda. Pri hierarhičnem dedovanju obstaja en osnovni razred in veliko izpeljanih razredov. Obstaja posebna vrsta, znana kot hibridno dedovanje. Je kombinacija dveh ali več vrst dedovanja.

Razlika med dedovanjem in vmesnikom v Javi
Razlika med dedovanjem in vmesnikom v Javi

Slika 01: Dedovanje

V večkratnem dedovanju je veliko osnovnih razredov in en izpeljan razred. Predpostavimo, da sta razreda A in B osnovna razreda. Razred C je izpeljan razred. Če imata oba razreda A in B isto metodo in programer to metodo pokliče iz izpeljanega razreda, bo to povzročilo težavo dvoumnosti. Dedovanje dveh razredov lahko povzroči napako med prevajanjem. Zato večkratno dedovanje ni podprto v Javi. Za premagovanje te težave lahko uporabite vmesnik.

Kaj je vmesnik v Javi?

Abstrakcija je postopek skrivanja podrobnosti implementacije in prikazovanja samo funkcionalnosti uporabniku. Abstrakcijo je mogoče doseči z uporabo abstraktnih razredov ali vmesnikov. Abstraktna metoda je metoda brez izvedbe. Razred z vsaj eno abstraktno metodo je abstrakten razred. Primer abstraktnega razreda je naslednji.

abstraktni razred A{

abstraktna prazna vsota();

}

Predpostavimo, da obstajata dva abstraktna razreda kot A in B. Za implementacijo abstraktnih metod A in B je ustvarjen nov razred C. Potem bi moral razred C razširiti tako A kot B. Toda večkratno dedovanje v Javi ni podprto. Zato je treba uporabiti vmesnike. Vmesnike je mogoče uporabiti za deklariranje metod, ni pa mogoče definirati metod. Z uporabo vmesnikov ni mogoče ustvariti predmeta. Razred C bi moral izvajati vse metode v vmesniku A in B.

vmesnik A{

nična vsota();

}

vmesnik B{

void sub();

}

razred C izvaja A, B{

javna void sum(){

System.out.println(“Vsota”);

}

javni void sub(){

System.out.println(“Subtraction”);

}

}

Zdaj je v glavnem programu mogoče ustvariti objekt C in poklicati obe metodi.

javni statični void main (String args) {

C obj=nov C();

obj.sum();

obj.sub();

}

Torej, vmesniki lahko uporabljajo za izvajanje večkratnega dedovanja.

Druga uporaba vmesnikov je zagotavljanje varnosti. Glejte spodnjo kodo.

vmesnik A {

nična vsota ();

}

razred B izvaja A {

javna nična vsota () {

System.out.println(“Vsota”);

}

javno prazno množenje () {

System.out.println(“Množenje”);

}

}

Ko ustvarjate objekt B, je mogoče poklicati obe metodi sum () in multiply (). Če programer želi omejiti uporabo funkcije multiply (), je to mogoče na naslednji način.

javni statični void main(String args){

A obj=novo B();

obj.sum();

}

A obj=novo B(); bo ustvaril predmet. Je tipa A in pomnilnik je dodeljen kot B. Mogoče je poklicati sum(), vendar ne more izvesti multiply(). Ta omejitev se izvaja z uporabo vmesnikov.

Kakšne so podobnosti med dedovanjem in vmesnikom v Javi?

  • Oba pojma sta povezana z objektno orientiranim programiranjem
  • Oba predstavljata razmerje IS-A.

Kakšna je razlika med dedovanjem in vmesnikom v Javi?

Dedovanje proti vmesniku v Javi

Dedovanje je OOP koncept za izpeljavo novih razredov iz obstoječih razredov. Vmesnik je mehanizem v OOP za implementacijo abstrakcije in večkratnega dedovanja.
Uporaba
Dedovanje omogoča ponovno uporabo kode. Vmesniki zagotavljajo abstrakcijo in večkratno dedovanje.

Povzetek – Dedovanje proti vmesniku v Javi

Java je programski jezik z več paradigmami, ki podpira objektno orientirano programiranje. Dedovanje in vmesniki so povezani z objektno usmerjenim programiranjem. Razlika med dedovanjem in vmesnikom je v tem, da dedovanje izpelje nove razrede iz obstoječih razredov, vmesniki pa implementirajo abstraktne razrede in večkratno dedovanje.

Prenesite PDF različico dedovanja proti vmesniku v Javi

Lahko prenesete PDF različico tega članka in jo uporabite za namene brez povezave v skladu z opombo o citiranju. Prenesite PDF različico tukaj Razlika med dedovanjem in vmesnikom v Javi

Priporočena: