Razlika Između Nasljeđivanja I Sučelja U Javi

Sadržaj:

Razlika Između Nasljeđivanja I Sučelja U Javi
Razlika Između Nasljeđivanja I Sučelja U Javi

Video: Razlika Između Nasljeđivanja I Sučelja U Javi

Video: Razlika Između Nasljeđivanja I Sučelja U Javi
Video: TIPOVI NASLJEĐIVANJA: DOMINANTNO-RECESIVNO, INTERMEDIJARNO, KODOMINANTNO, VEZANI GENI, POLIGENSKO... 2024, Travanj
Anonim

Ključna razlika - nasljeđivanje i sučelje u Javi

Java je programski jezik koji je razvio Sun Microsystems. Java se može koristiti za razvoj različitih aplikacija. To je jezik s više paradigmi koji podržava objektno orijentirano, strukturirano itd. Glavna prednost Jave je što podržava objektno orijentirano programiranje (OOP). Programer može stvarati klase i objekte. U OOP-u postoje četiri stupa. Oni su nasljeđivanje, polimorfizam, apstrakcija i inkapsulacija. Nasljeđivanje i sučelja povezani su s OOP-om. Ključna razlika između nasljeđivanja i sučelja je u tome što je nasljeđivanje izvođenje novih klasa iz postojećih klasa, a sučelje je primjena apstraktnih klasa i višestrukog nasljeđivanja.

SADRŽAJ

1. Pregled i ključna razlika

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 i sučelje na Javi u tabličnom obliku

6. Sažetak

Što je nasljeđivanje u Javi?

Nasljeđivanjem se može postići ponovna upotrebljivost koda. Nasljeđivanje pomaže ponovnoj upotrebi atributa i metoda postojeće klase. Mehanizam izvođenja nove klase pomoću stare klase naziva se nasljeđivanje. Stara klasa poznata je kao roditeljska klasa ili super klasa. Izvedena klasa naziva se podređena klasa ili podrazred.

Sintaksa nasljeđivanja Java je sljedeća.

class subclass_name produžuje superclass_name {

deklaracija varijable;

izjava o metodi;

}

Koncept nasljeđivanja može se objasniti na sljedećem primjeru. Pretpostavimo da postoji klasa nazvana A kako slijedi.

javni razred A {

javna nevažeća svota () {

System.out.println ("Zbroj");

}

}

Ako želimo dodati novu metodu bez promjene postojeće klase, možemo to učiniti na sljedeći način.

javni razred B {

javna void sub () {

System.out.println ("Sub");

}

}

Programer može koristiti nasljeđivanje za korištenje zbroja klase A ().

javna klasa B proširuje klasu A {

javna void sub () {

System.out.println ("Sub");

}

}

U glavnoj funkciji moguće je stvoriti objekt od B i pozvati sub () koji pripada klasi B i sum () koji pripada klasi A koristeći nasljeđivanje.

javna statička void glavna (String args) {

B obj = novo B ();

obj.sub ();

obj.sum ();

}

Postoje različite vrste nasljeđivanja. Oni su jedno nasljeđe, više nasljeđa, višerazinsko nasljeđivanje i hijerarhijsko nasljeđivanje. U pojedinačnom nasljeđivanju postoji jedna osnovna klasa i jedna izvedena klasa. U višerazinskom nasljeđivanju postoje tri klase, i to osnovna klasa, srednja klasa i izvedena klasa. Srednja klasa nasljeđuje od osnovne klase, a izvedena klasa nasljeđuje od srednje klase. U hijerarhijskom nasljeđivanju postoji jedna osnovna klasa i mnogo izvedenih klasa. Postoji posebna vrsta poznata kao hibridno nasljeđivanje. To je kombinacija dvije ili više vrsta nasljeđivanja.

Razlika između nasljeđivanja i sučelja u Javi
Razlika između nasljeđivanja i sučelja u Javi

Slika 01: Nasljeđivanje

U Višestrukom nasljeđivanju postoji mnogo osnovnih klasa i jedna izvedena klasa. Pretpostavimo da su klase A i B osnovne klase. Klasa C je izvedena klasa. Ako i A i B klase imaju istu metodu i programer pozove tu metodu iz izvedene klase, to će uzrokovati problem dvosmislenosti. Nasljeđivanje dviju klasa može uzrokovati pogrešku u vremenu prevođenja. Stoga višestruko nasljeđivanje nije podržano u Javi. Sučelje se može koristiti za prevladavanje tog problema.

Što je sučelje u Javi?

Apstrakcija je postupak skrivanja detalja implementacije i prikazivanja samo funkcionalnosti korisniku. Apstrakcija se može postići pomoću klasa sažetaka ili sučelja. Apstraktna metoda je metoda bez implementacije. Razred s barem jednom apstraktnom metodom je apstraktni razred. Primjer apstraktne klase je kako slijedi.

sažetak klase A {

apstraktna praznina ();

}

Pretpostavimo da postoje dvije apstraktne klase kao A i B. Da bi se primijenile apstraktne metode A i B, kreira se nova klasa C. Tada bi klasa C trebala proširiti i A i B., ali 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 trebala bi implementirati sve metode u sučeljima A i B.

sučelje A {

nevažeći zbroj ();

}

sučelje B {

void sub ();

}

klasa C provodi A, B {

javna nevažeća svota () {

System.out.println ("Zbrajanje");

}

javna void sub () {

System.out.println („Oduzimanje“);

}

}

Sada je u glavnom programu moguće stvoriti objekt od C i pozvati obje metode.

javna statička void glavna (String args) {

C obj = novi C ();

obj.sum ();

obj.sub ();

}

Dakle, sučelja se mogu koristiti za implementaciju višestrukog nasljeđivanja.

Druga upotreba sučelja je da pruža sigurnost. Pogledajte donji kod.

sučelje A {

nevažeći zbroj ();

}

klasa B provodi A {

javna nevažeća svota () {

System.out.println ("Zbrajanje");

}

javna praznina multiply () {

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

}

}

Prilikom stvaranja objekta od B, moguće je obje metode pozvati sum () i multiply (). Ako programer želi ograničiti upotrebu funkcije multiply (), moguće je kako slijedi.

javna statička void glavna (String args) {

A obj = novo B ();

obj.sum ();

}

A obj = novo B (); stvorit će objekt. Tip je A i memorija je dodijeljena kao B. Moguće je pozvati sum (), ali ne može se izvršiti množenje (). Ovo se ograničenje vrši pomoću sučelja.

Koje su sličnosti između nasljeđivanja i sučelja u Javi?

  • Oba koncepta povezana su s objektno orijentiranim programiranjem
  • Obje predstavljaju odnos IS-A.

Koja je razlika između nasljeđivanja i sučelja u Javi?

Diff Article Sredina prije tablice

Nasljeđivanje vs sučelje na Javi

Nasljeđivanje je koncept OOP-a za izvođenje novih klasa iz postojećih klasa. Sučelje je mehanizam u OOP-u za provedbu apstrakcije i višestrukog nasljeđivanja.
Upotreba
Nasljeđivanje omogućuje ponovnu upotrebu koda. Sučelja pružaju apstrakciju i višestruko nasljeđivanje.

Sažetak - Nasljeđivanje vs sučelje na Javi

Java je programski jezik s više paradigmi koji podržava objektno orijentirano programiranje. Nasljeđivanje i sučelja povezani su s objektno orijentiranim programiranjem. Razlika između nasljeđivanja i sučelja je u tome što je nasljeđivanje izvođenje novih klasa iz postojećih klasa, a sučelja u primjeni apstraktnih klasa i višestrukog nasljeđivanja.

Preuzmite PDF verziju nasljeđivanja vs sučelja na Javi

Možete preuzeti PDF verziju ovog članka i koristiti je u izvanmrežne svrhe prema napomeni. Ovdje preuzmite PDF verziju. Razlika između nasljeđivanja i sučelja u Javi

Preporučeno: