Razlika između polimorfizma i nasljeđivanja u OOP-u

Ključna razlika - polimorfizam i nasljeđivanje u OOP-u
 

Objektno programirano programiranje (OOP) obično se koristi za razvoj softvera. Mnogi jezici programiranja podržavaju objektno orijentirano programiranje. Objektno orijentirano programiranje je metodologija za projektiranje programa pomoću klasa i objekata. Klasa u OOP-u je nacrt za stvaranje objekta. Razred 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 to Polimorfizam je 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čne razlike
2. Što je polimorfizam u OOP-u
3. Što je nasljeđivanje u OOP-u
4. Sličnosti između polimorfizma i nasljeđivanja u OOP-u
5. Usporedna usporedba - Polimorfizam i nasljeđivanje u OOP-u u tabelarnom obliku
6. Sažetak

Što je polimorfizam u OOP-u?

Polimorfizam je označavanje višestrukih oblika. Jedan objekt može imati više ponašanja. Polimorfizam možemo podijeliti u dvije kategorije. Oni su preopterećeni i nadjačani.

preopterećenje

Pogledajte donji program napisan na Javi.

Slika 01: Preopterećenje

Prema gore navedenom programu stvara se objekt tipa A. Kada zovete obj.sum (); dat će izlaz koji se odnosi na metodu sum (). Kada zovete obj.sum (2,3); dat će izlaz koji se odnosi na zbroj (int a, int b). Može se primijetiti da isti objekt ima različita ponašanja, ovisno o situaciji. Kada postoji više metoda s istim nazivom, ali s različitim parametrima, zna se kao preopterećenje. Poznat je i kao statičko vezivanje ili sastaviti vremenski polimorfizam.

najvažniji

Druga vrsta polimorfizma je najvažniji. Pogledajte donji program napisan na Javi.

Slika 02: Poništavanje

Prema gornjem programu, u klasi A. postoji prikaz metoda (). Klasa B se proteže od klase A. Stoga su sve metode u klasi A dostupne klasi B. To je nasljeđivanje. Koncept nasljeđivanja opisan je dalje kasnije.

Klasa B također ima istu metodu prikaza (). Prilikom stvaranja objekta tipa A i pozivanja metode prikaza, izlaz će dati B. Metoda prikaza klase A prevladava pomoću metode prikaza klase B. Dakle, izlaz je B.

Kad postoje metode s istim imenom i istim parametrima, ali u dvije različite klase, a povezane su s nasljeđivanjem, to je poznato kao prevladavanje. Poznat je i kao Kasno vezivanje, dinamičko vezivanje, polimorfizam vremena izvođenja. Preopterećenje i preglasavanje nazivamo polimorfizmom. Glavni je 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 zbroj metoda (), a klasa B ima metodu sub ().

Metoda zbroja () klase A može se koristiti u razredu B pomoću ključne riječi produljiti. Ponovna upotreba svojstava i metoda u postojećoj klasi za stvaranje nove klase poznata je pod nazivom Nasljeđivanje. Čak ne postoji metoda sum () u klasi B; nasljeđuje se iz klase A. Nasljeđivanje je korisno za ponovnu upotrebu koda. Stariji razred se naziva osnovna klasa, superklasa ili roditeljska klasa. Derivirana klasa naziva se podrazred ili razred za djecu.

Vrste nasljeđivanja

Postoje različite vrste nasljeđivanja. To su nasljeđivanje na jednom nivou, nasljeđivanje na više razina, više nasljeđivanje, hijerarhijsko nasljeđivanje i hibridno nasljeđivanje.

Jedno nasljeđivanje

U Single Inheritance postoji jedna super klasa i jedna podklasa. Ako je klasa A super klasa, a klasa B je podklasa, sva svojstva i metode klase A mogu biti dostupne klasi B. Postoji samo jedna razina; prema tome, naziva se nasljeđivanjem na jednom nivou.

Nasljeđivanje na više razina

U nasljeđivanju na više razina postoje tri razine klase. Srednja klasa nasljeđuje od super klase. Podklasa nasljeđuje od srednje klase. Ako postoje tri klase kao A, B i C i A je super klasa, a B je srednja klasa. Tada B nasljeđuje od A, a C nasljeđuje od B, to je nasljedstvo na više razina.

Višestruko nasljeđivanje

U Multiple Inheritance postoji mnogo super klasa i jedna podklasa. Ako postoje tri super klase koje se nazivaju A, B, C i D je potklasa, onda klasa D može naslijediti od A, B i C. Višestruko nasljeđivanje podržano je u programskom jeziku C ++. Nije podržan u programskim jezicima kao što su Java ili C #. Sučelja se koriste za implementaciju višestrukog nasljeđivanja na ovim jezicima.

Hijerarhijsko nasljeđivanje

Ako postoje klase koje se nazivaju A kao super klase i B, C su potklasa, te podklase mogu naslijediti svojstva i metode klase A. Ta vrsta nasljeđivanja poznata je kao hijerarhijsko nasljeđivanje.

Hibridno nasljeđivanje

Postoji još jedna posebna vrsta nasljeđivanja koja je poznata pod nazivom hibridno nasljeđivanje. To je kombinacija višeslojnog i višestrukog nasljedstva. Ako su A, B, C i D klase i B nasljeđuje od A, a D nasljeđuje i od B i C, onda je to hibridno nasljedstvo.

Koje su sličnosti između polimorfizma i nasljeđivanja u OOP-u?

  • Oba su koncepta objektno orijentiranog programiranja.

Koja je razlika između polimorfizma i nasljeđivanja u OOP-u?

Polimorfizam i nasljeđivanje u OOP-u

Polimorfizam je sposobnost objekta da se ponaša na više načina. Nasljeđivanje je stvaranje nove klase pomoću svojstava i metoda postojeće klase.
 upotreba
Polimorfizam se koristi za objekte kojima se može nazvati koji je oblik metoda u vrijeme sastavljanja i izvršavanja. Nasljeđivanje se koristi za ponovnu upotrebu koda.
izvršenje
Polimorfizam se provodi u metodama. Nasljeđivanje se provodi u klasama.
 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 i nasljeđivanje u OOP-u 

Polimorfizam i nasljeđivanje glavni su pojmovi u objektno orijentiranom programiranju. Razlika između polimorfizma i nasljeđivanja u OOP-u je u tome što je polimorfizam zajedničko sučelje višestrukim oblicima, a nasljeđivanje je stvaranje nove klase koristeći svojstva i metode postojeće klase. Oba se koncepta široko koriste u razvoju softvera.

Preuzmite PDF Polimorfizam i nasljeđivanje na OOP-u

Možete preuzeti PDF verziju ovog članka i koristiti je za izvanmrežne svrhe, prema napomeni. Preuzmite PDF verziju ovdje Razlika između polimorfizma i nasljeđivanja u OOP-u

Referenca:
  1. 8.3 Što je nasljeđivanje u Javi | Predavanje | Vodič, Telusko učenje, 15. svibnja 2014. Dostupno ovdje  
  2. Polimorfizam u Javnom udžbeniku, Telusko učenje, 15. svibnja 2014. Dostupno ovdje