Java je programski jezik koji je razvio Sun Microsystems. Java se može koristiti za razvoj različitih aplikacija. To je jezik više paradigmi koji podržava objektno orijentirano, strukturirano itd. Glavna prednost Jave je što podržava objektno-orijentirano programiranje (OOP). Programer može kreirati klase i objekte. U OOP-u postoje četiri stupa. To su nasljeđivanje, polimorfizam, apstrakcija i enkapsulacija. Nasljeđivanje i sučelja povezana su s OOP-om. ključna razlika između nasljeđivanja i sučelja je to nasljeđivanje jest dobivanje novih klasa iz postojećih klasa, a sučelje je primjena apstraktnih klasa i višestrukog nasljeđivanja.
1. Pregled i ključne razlike
2. Što je nasljeđivanje u Javi
3. Što je sučelje u Javi
4. Sličnosti između nasljeđivanja i sučelja u Javi
5. Usporedna usporedba - Nasljeđivanje vs sučelje u Javi u tabličnom obliku
6. Sažetak
Nasljeđivanjem se može postići ponovna upotrebljivost koda. Nasljeđivanje pomaže da se ponovo iskoriste atributi i metode postojeće klase. Mehanizam za dobivanje nove klase pomoću stare klase naziva se nasljeđivanjem. Stara klasa je poznata kao roditeljska klasa ili super klasa. Derivirana klasa naziva se podređena klasa ili podrazred.
Sintaksa Java nasljeđivanja je sljedeća.
klasa subclass_name proširiva superclass_name
varijabilna deklaracija;
deklaracija metode;
Koncept nasljeđivanja može se objasniti sljedećim primjerom. Pretpostavimo da postoji klasa nazvana A kako slijedi.
javna klasa A
javna nevaljala svota ()
Sustava ( „suma”);
Ako želimo dodati novu metodu bez promjene postojeće klase, možemo to učiniti na sljedeći način.
javna klasa B
javno nevažeće sub ()
Sustava ( „sub”);
Programer može naslijediti da koristi zbroj klase A ().
javna klasa B proširuje klasu A
javno nevažeće sub ()
Sustava ( „sub”);
U glavnoj funkciji moguće je stvoriti objekt B i call sub (), koji pripada klasi B i sum (), koji pripada klasi A pomoću nasljeđivanja.
javni statički void main (String [] args)
B obj = novi B ();
obj.sub ();
obj.sum ();
Postoje različite vrste nasljeđivanja. To su jedno nasljedstvo, višestruko nasljeđivanje, višeslojno nasljeđivanje i hijerarhijsko nasljeđivanje. U jedno nasljedstvo, postoji jedna osnovna klasa i jedna izvedena klasa. U nasljeđivanje na više razina, postoje tri klase, naime osnovna klasa, srednja klasa i izvedena klasa. Srednja klasa nasljeđuje od osnovne klase, a izvedena klasa nasljeđuje od srednje klase. U hijerarhijsko nasljeđivanje, postoji jedna osnovna klasa i mnoge izvedene klase. Postoji posebna vrsta poznata kao Hibridno nasljeđivanje. To je kombinacija dvije ili više vrsta nasljeđivanja.
Slika 01: Nasljeđivanje
U Višestruko nasljeđivanje postoji mnogo osnovnih razreda i jedna izvedena klasa. Pretpostavimo da su klase A i B osnovne klase. Klasa C je izvedena klasa. Ako i klase A i B imaju istu metodu, a programer tu metodu nazove iz izvedene klase, to će uzrokovati problem nejasnoće. Nasljeđivanje dvije klase može uzrokovati pogrešku u vremenu prevođenja. Stoga višestruko nasljeđivanje ne podržava u Javi. Za rješavanje tog problema može se koristiti sučelje.
Apstrakcija je postupak sakrivanja detalja implementacije i prikaza korisniku samo funkcionalnosti. Apstrakcija se može postići pomoću apstraktnih razreda ili sučelja. Apstraktna metoda je metoda bez provedbe. Razred s najmanje jednom apstraktnom metodom je apstraktna klasa. Primjer apstraktne klase je kako slijedi.
apstraktna klasa A
apstraktna praznina ();
Pretpostavimo da postoje dvije apstraktne klase kao A i B. Za primjenu apstraktnih metoda A i B stvorena je nova klasa C. Tada bi klasa C trebala proširiti i A i B. No, višestruko nasljeđivanje nije podržano u Javi. Stoga treba koristiti sučelja. Sučelja se mogu koristiti za deklariranje metoda, ali nije moguće definirati metode. Nije moguće stvoriti objekt pomoću sučelja. Klasa C treba implementirati sve metode u sučeljima A i B.
sučelje A
nevažeća svota ();
sučelje B
void sub ();
izvedbe klase C A, B
javna nevaljala svota ()
Sustava ( „zbrajanja”);
javno nevažeće sub ()
Sustava ( „oduzimanje”);
Sada je u glavnom programu moguće stvoriti objekt C i nazvati obje metode.
javni statički void main (String [] args)
C obj = novi C ();
obj.sum ();
obj.sub ();
Dakle, sučelja se mogu koristiti za implementaciju višestrukog nasljeđivanja.
Druga uporaba sučelja je da pruža sigurnost. Pogledajte donji kôd.
sučelje A
nevažeća svota ();
klasa B realizira A
javna nevaljala svota ()
Sustava ( „zbrajanja”);
javno nevažno množenje ()
Sustava ( „množenje”);
Prilikom stvaranja objekta B moguće je obje metode zvati zbroj () i množenje (). Ako se programer želi ograničiti pomoću funkcije množenja (), moguće je na sljedeći način.
javni statički void main (String [] args)
A obj = novi B ();
obj.sum ();
A obj = novi B (); stvorit će objekt. To je tipa A, a memorija je dodijeljena kao B. Moguće je zvati sum (), ali ne može izvršiti množenje (). Ovo se ograničenje vrši pomoću sučelja.
Nasljeđivanje vs sučelje na Javi | |
Nasljeđivanje je OOP koncept za dobivanje novih klasa iz postojećih klasa. | Sučelje je mehanizam u OOP-u za implementaciju apstrakcije i višestrukog nasljeđivanja. |
upotreba | |
Nasljeđivanje omogućuje ponovnu upotrebu koda. | Sučelja pružaju apstrakciju i višestruko nasljeđivanje. |
Java je programski jezik s više paradigmi koji podržava objektno orijentirano programiranje. Nasljeđivanje i sučelja povezana su s objektno orijentiranim programiranjem. Razlika između nasljeđivanja i sučelja je u tome što je nasljeđivanje poticati nove klase iz postojećih klasa i sučelja je u primjeni apstraktnih klasa i višestrukog nasljeđivanja.
Možete preuzeti PDF verziju ovog članka i koristiti je za izvanmrežne svrhe, prema napomeni. Molimo preuzmite PDF verziju ovdje Razlika između nasljeđivanja i sučelja na Javi
1.Point, Vodiči. "Nasljeđivanje Java"., Tutorials Point, 31. listopada 2017. Dostupno ovdje
2.Point, Vodiči. "Sučelja Java." , Tutorials Point, 31. listopada 2017. Dostupno ovdje
1.'CPT-OOP-nasledstvo-bicikli 'Pluke - Vlastiti rad, (Public Domain) putem Commons Wikimedia