Ključna razlika - polimorfizam vs nasljeđivanje u OOP-u
Objektno orijentirano programiranje (OOP) obično se koristi za razvoj softvera. Mnogi programski jezici podržavaju objektno orijentirano programiranje. Objektno orijentirano programiranje metodologija je dizajniranja programa pomoću klasa i objekata. Predavanje u OOP-u nacrt je za stvaranje objekta. Klasa ima svojstva i metode. Objekt je instanca klase. OOP sadrži četiri stupa kao što su nasljeđivanje, polimorfizam, apstrakcija i enkapsulacija. Ovaj članak govori o razlici između polimorfizma i nasljeđivanja u OOP-u. Ključna razlika između polimorfizma i nasljeđivanja u OOP-u je ta što je polimorfizam sposobnost objekta da se ponaša na više načina, a nasljeđivanje je stvaranje nove klase koristeći svojstva i metode postojeće klase.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je polimorfizam u OOP-u
3. Što je nasljeđivanje u OOP-u
4. Sličnosti polimorfizma i nasljeđivanja u OOP-u
5. Usporedna usporedba - Polimorfizam i nasljeđivanje u OOP-u u tabličnom obliku
6. Sažetak
Što je polimorfizam u OOP-u?
Polimorfizam označava više oblika. Jedan objekt može imati više ponašanja. Polimorfizam se može podijeliti u dvije kategorije. Preopterećuju i prevladavaju.
Preopterećenje
Pogledajte donji program napisan na Javi.
Slika 01: Preopterećenje
Prema gornjem programu stvara se objekt tipa A. Pri pozivu obj.sum (); dat će izlaz povezan s metodom sum (). Prilikom pozivanja obj.sum (2,3); dat će izlaz koji se odnosi na zbroj (int a, int b). Može se primijetiti da se isti objekt različito ponaša ovisno o situaciji. Kada postoji više metoda s istim nazivom, ali s različitim parametrima, to je poznato kao preopterećenje. Poznat je i kao statički polimorfizam vezanja ili vremena sastavljanja.
Nadjačavanje
Druga vrsta polimorfizma je nadmoćna. Pogledajte donji program napisan na Javi.
Slika 02: Nadjačavanje
Prema gornjem programu, postoji metoda display () u klasi A. Klasa B se proteže od klase A. Stoga je svim metodama u klasi A dostupna klasa B. To je nasljeđivanje. Koncept nasljeđivanja opisan je dalje kasnije.
Klasa B također ima prikaz iste metode (). Kada se stvara objekt tipa A i poziva metoda prikaza, izlaz će dati B. Metoda prikaza klase A nadjačana je metodom prikaza klase B. Dakle, izlaz je B.
Kada postoje metode s istim imenom i istim parametrima, ali u dvije različite klase, i povezane su s nasljeđivanjem, poznato je kao nadjačavanje. Poznat je i kao kasno vezivanje, dinamičko vezivanje, vrijeme polimorfizma. Preopterećenje i nadjačavanje nazivamo polimorfizmom. To je glavni koncept objektno orijentiranog programiranja.
Što je nasljeđivanje u OOP-u?
Pogledajte donji program napisan na Javi.
Slika 03: Primjer nasljeđivanja
Prema gornjem programu, klasa A ima metodu sum (), a klasa B metodu sub ().
Metoda sum () klase A može se koristiti u klasi B pomoću ključne riječi extension. Ponovna upotreba svojstava i metoda u postojećoj klasi za stvaranje nove klase poznata je pod nazivom Nasljeđivanje. Čak i ne postoji metoda sum () u klasi B; nasljeđuje se iz klase A. Nasljeđivanje je korisno za ponovnu upotrebu koda. Starija klasa naziva se osnovna klasa, superrazred ili roditeljska klasa. Izvedena klasa naziva se podklasa ili podređena klasa.
Vrste nasljeđivanja
Postoje razne vrste nasljeđivanja. Oni su jednorazinsko nasljeđivanje, višerazinsko nasljeđivanje, višestruko nasljeđivanje, hijerarhijsko nasljeđivanje i hibridno nasljeđivanje.
Nasljeđivanje pojedinačno
U pojedinačnom nasljeđivanju postoji jedna super klasa i jedna pod klasa. Ako je klasa A super klasa, a klasa B podklasa, svim svojstvima i metodama klase A može pristupiti klasa B. Postoji samo jedna razina; stoga se naziva jednorazinskim nasljeđivanjem.
Nasljeđivanje na više razina
U višerazinskom nasljeđivanju postoje tri razine nastave. Srednja klasa nasljeđuje od super klase. Podrazred nasljeđuje od srednje klase. Ako postoje tri klase kao što su A, B i C, a A je super klasa, a B je srednja klasa. Tada B nasljeđuje od A, a C nasljeđuje od B, to je višerazinsko nasljeđivanje.
Višestruko nasljeđivanje
U višestrukom nasljeđivanju postoji mnogo super klasa i jedna podklasa. Ako postoje tri super klase nazvane A, B, C i D je podklasa, tada klasa D može nasljeđivati od A, B i C. Višestruko nasljeđivanje podržano je u programskom jeziku C ++. Nije podržano u programskim jezicima kao što su Java ili C #. Sučelje se koristi za implementaciju višestrukog nasljeđivanja na tim jezicima.
Hijerarhijsko nasljeđivanje
Ako postoje klase nazvane A kao super klase, a B, C su podklase, te podklase mogu naslijediti svojstva i metode klase A. Ta vrsta nasljeđivanja poznata je kao Hijerarhijsko nasljeđivanje.
Hibridno nasljeđivanje
Postoji još jedan poseban tip nasljeđivanja koji je poznat kao hibridno nasljeđivanje. To je kombinacija višerazinskog i višestrukog nasljeđivanja. Ako su A, B, C i D klase, a B nasljeđuje od A, a D nasljeđuje i od B i od C, onda je to hibridno nasljeđe.
Koje su sličnosti između polimorfizma i nasljeđivanja u OOP-u?
Obje su koncepcije objektno orijentiranog programiranja
Koja je razlika između polimorfizma i nasljeđivanja u OOP-u?
Diff Article Sredina prije tablice
Polimorfizam vs nasljeđivanje u OOP-u |
|
Polimorfizam je sposobnost predmeta da se ponaša na više načina. | Nasljeđivanje je stvaranje nove klase koristeći svojstva i metode postojeće klase. |
Upotreba | |
Polimorfizam se koristi za pozivanje objekata koji oblik metoda u vrijeme kompajliranja i izvođenja. | Nasljeđivanje se koristi za ponovnu upotrebu koda. |
Provedba | |
Polimorfizam se provodi u metodama. | Nasljeđivanje se provodi u nastavi. |
Kategorije | |
Polimorfizam se može podijeliti na preopterećenje i prevladavanje. | Nasljeđivanje se može podijeliti na jednorazinsko, višerazinsko, hijerarhijsko, hibridno i višestruko nasljeđivanje. |
Sažetak - Polimorfizam vs nasljeđivanje u OOP-u
Polimorfizam i nasljeđivanje glavni su koncepti objektno orijentiranog programiranja. Razlika između polimorfizma i nasljeđivanja u OOP-u je u tome što je polimorfizam uobičajeno sučelje za više oblika, a nasljeđivanje je stvaranje nove klase koristeći svojstva i metode postojeće klase. Oba koncepta široko se koriste u razvoju softvera.
Preuzmite PDF Polimorfizam vs nasljeđivanje u OOP-u
Možete preuzeti PDF verziju ovog članka i koristiti je u izvanmrežne svrhe prema napomeni. Ovdje preuzmite PDF verziju Razlika između polimorfizma i nasljeđivanja u OOP-u