Koja je razlika između nasljeđivanja i polimorfizma u Javi

Sadržaj:

Anonim

The glavna razlika između nasljeđivanja i polimorfizma u Javi je to Nasljeđivanje dopušta klasi da koristi svojstva i metode već postojeće klase, dok polimorfizam omogućuje objektu da se ponaša na više načina.

Objektno orijentirano programiranje (OOP) uobičajena je programska paradigma u razvoju softvera. Pomaže u modeliranju scenarija u stvarnom svijetu pomoću objekata. Java je programski jezik koji podržava OOP. Klasa je nacrt i pomaže u stvaranju objekata. Klasa ima atribute i ponašanje. Atributi se također nazivaju svojstvima, dok se ponašanja također nazivaju metodama. Dva glavna stupa OOP -a su nasljeđivanje i polimorfizam.

Klasa, nasljeđivanje, preopterećenje, nadjačavanje, polimorfizam, Java

Što je nasljeđivanje u Javi

Nasljeđivanje u Javi je mehanizam koji omogućuje klasi da koristi svojstva i ponašanje već postojeće klase. Već postojeća klasa je nadređena ili nadklasa. Nova klasa koja nasljeđuje svojstva i metode naziva se podređena klasa ili potklasa. Glavna prednost nasljeđivanja je to što omogućuje ponovnu upotrebu koda. Primjer programa je sljedeći.

Slika 1: Klasa A

Slika 2: Klasa B

Slika 3: Test razreda

Klasa A ima zbroj metode i dodaje dvije vrijednosti. Klasa B proširuje A. Ima metodu koja se naziva sub. Oduzima dvije vrijednosti. Testna klasa ima glavnu metodu. 'Obj' je objekt tipa B. Kako klasa B nasljeđuje klasu A, objekt može koristiti svojstva i metode klase A. Stoga objekt može pozvati i zbroj i podmetode.

Što je polimorfizam u Javi

Polimorfizam u Javi odnosi se na objekt koji pokazuje različita ponašanja u različitim fazama svog životnog ciklusa. U polimorfizmu uglavnom postoje dvije vrste preopterećenja i prevladavanja.

Preopterećenje

Preopterećenje dopušta metode u istoj klasi ili podrazredima s istim imenom, ali s različitim parametrima. Također se naziva i "statičko vezivanje" i "polimorfizam vremena kompiliranja". Primjer programa je sljedeći.

Slika 4: Java program s nadjačavanjem

Klasa preopterećenja ima dvije metode s istim imenom kao sum. Metoda zbrajanja u retku 5 ne uzima nikakve parametre. Dodaje dvije vrijednosti 10 i 20 i vraća rezultat, što je 30. Štoviše, metoda zbrajanja u retku 11 dolazi do dva parametra. Dodaje te dvije vrijednosti i vraća rezultat 50. Obj je objekt u glavnoj metodi. Obj.sum () poziva metodu zbroja u retku 5, a obj.sum (20, 30) metodu zbroja u retku 11. Isti objekt prema tome poziva pridruženu metodu. Stoga isti objekt ima različito ponašanje ovisno o situaciji.

Nadmoćno

Nadjačavanje omogućuje pružanje implementacije metodi koja već postoji u svojoj nadklasi. Također se naziva i "kasno vezivanje", "dinamičko vezivanje" i "vremenski polimorfizam". Primjer programa je sljedeći.

Slika 5: Klasa vozila

Slika 6: Klasa automobila

Slika 7: Testna klasa

Klasa vozila ima metodu koja se naziva prikaz. Klasa automobila proširuje klasu vozila, a ima i metodu koja se naziva prikaz sa vlastitom implementacijom. Vozilo je nadklasa, dok je automobil potklasa. Testna klasa ima glavnu metodu. "C" je objekt tipa Car. Prilikom pozivanja metode prikaza možemo vidjeti implementaciju metode prikaza u klasi Car. Iako nadklasa ima metodu prikaza, ona je nadjačana metodom prikaza u potklasi.

Razlika između nasljeđivanja i polimorfizma u Javi

Definicija

Nasljeđivanje je mehanizam koji dopušta novoj klasi korištenje svojstava i metoda nadklase, dok je polimorfizam sposobnost objekta da se ponaša na više načina. Dakle, ovo je glavna razlika između nasljeđivanja i polimorfizma u Javi.

Implementacija

Upotreba

Nadalje, dok nasljeđivanje omogućuje ponovnu upotrebu koda, polimorfizam dopušta pozivanje metoda u skladu s tim u vrijeme prevođenja i tijekom izvođenja. Dakle, ovo je još jedna razlika između nasljeđivanja i polimorfizma u Javi.

Zaključak

Dva glavna stupa OOP -a su nasljeđivanje i polimorfizam. Glavna razlika između nasljeđivanja i polimorfizma u Javi je ta što nasljeđivanje dopušta klasi da koristi svojstva i metode već postojeće klase, dok polimorfizam omogućuje objektu da se ponaša na više načina.

Referenca:

1. "Preopterećenje metode u Javi - Javatpoint." Www.javatpoint.com, dostupno ovdje.2. "Nadjačavanje metode u Javi - Javatpoint." Www.javatpoint.com, dostupno ovdje.3. "Nasljeđivanje u Javi - Javatpoint." Www.javatpoint.com, dostupno ovdje.

Koja je razlika između nasljeđivanja i polimorfizma u Javi