Ključna razlika – superklasa naspram podklase
U objektno orijentiranom programiranju (OOP), sustav se modelira pomoću objekata. Ovi se objekti stvaraju pomoću klase. Klasa je nacrt ili opis za stvaranje objekta. Stvaranje objekta također je poznato kao instanciranje objekta. Svaki objekt komunicira s drugim objektima. Program ili softver može se razviti korištenjem objektno orijentiranog programiranja. Nasljeđivanje je glavni koncept u OOP-u. Poboljšava ponovnu upotrebu koda. Umjesto implementacije programa od početka, dopušta nasljeđivanje svojstava i metoda već postojeće klase u novu klasu. Pomaže u lakšem upravljanju programom. Superklasa i podklasa su dva pojma koja se odnose na nasljeđivanje. Ovaj članak govori o razlici između Superklase i Podklase. Ključna razlika između Superklase i Podklase je u tome što je Superklasa postojeća klasa iz koje su izvedene nove klase, dok je Podklasa nova klasa koja nasljeđuje svojstva i metode Superklase.
Što je Superclass?
U nasljeđivanju, postojeća klasa iz koje su izvedene nove klase poznata je kao superklasa. Također je poznata kao roditeljska klasa ili osnovna klasa.
Postoje različite vrste nasljeđivanja. Oni su ilustrirani pomoću sljedećih primjera. Razmotrite A B i C kao klase.
Slika 01: Vrste nasljeđivanja
Slika 02: Hibridno nasljeđivanje
Prema gornjim dijagramima, Superklase se razlikuju od svakog tipa nasljeđivanja. U jednorazinskom nasljeđivanju, A je superklasa. Kod nasljeđivanja na više razina, A je superklasa za B, a B je superklasa za C. U hijerarhijskom nasljeđivanju A je superklasa i za B i za C. U višestrukom nasljeđivanju i A i B su superklase za C.
Hibridno nasljeđivanje kombinacija je višerazinskog i višestrukog nasljeđivanja. U dijagramu s lijeve strane, A je superklasa za B, C i B, C su superklase za D. U dijagramu s desne strane, A je superklasa za B i B, D su superklase za C.
Pogledajte donji program napisan u Javi.
Slika 03: Program nasljeđivanja u Javi
Prema gornjem programu, klasa A ima metode sum() i sub(). Klasa B ima metodu multiply(). Klasa B proširuje klasu A. Stoga su svojstva i metode klase A dostupne klasi B. Stoga je klasa A superklasa. Za kreiranje objekta uzima se referentni tip klase B. Dakle, sve metode kao što su sum(), sub() i multiply() su dostupne objektu. Ako se za stvaranje objekta koristi referentni tip superklase, članovi klase B ne mogu biti dostupni. npr. A obj=novi B(); Stoga referenca superklase ne može pozvati metodu multiply() jer ta metoda pripada klasi B.
Što je podrazred?
Prema gornjim dijagramima, podklase se razlikuju od svakog tipa nasljeđivanja. U pojedinačnom nasljeđivanju, B je podklasa. U nasljeđivanju na više razina, B je podklasa od A, a C je podklasa od B. U hijerarhijskom nasljeđivanju B i C su podklase od A. U višestrukom nasljeđivanju, C je podklasa za A i B.
U hibridnom nasljeđivanju, dijagram lijevo, B i C su podklase od A. D je podklasa od B i C. U dijagramu desno, B je podklasa za A. C je podklasa od B i D.
Prema gornjem programu nasljeđivanja, klasa B proširuje klasu A. Stoga su sva svojstva i metode klase A dostupne klasi B. Klasa B je nova klasa koja nasljeđuje klasu A. Poznata je kao podrazred. Također je poznata kao podređena klasa ili izvedena klasa. Klasa B ima metodu množenja () i također može pristupiti metodama sum() i sub() klase A pomoću nasljeđivanja.
Koja je sličnost između superklase i podklase?
Oboje je povezano s nasljeđivanjem
Koja je razlika između superklase i podklase?
Nadklasa vs podklasa |
|
Pri implementaciji nasljeđivanja, postojeća klasa iz koje se izvode nove klase je Superklasa. | Pri implementaciji nasljeđivanja, klasa koja nasljeđuje svojstva i metode od superklase je podklasa. |
Sinonimi | |
Superklasa je poznata kao osnovna klasa, roditeljska klasa. | Podklasa je poznata kao izvedena klasa, podređena klasa. |
Funkcionalnost | |
Nadklasa ne može koristiti svojstva i metode podklase. | Podklasa može koristiti svojstva i metode Superklase. |
Nasljeđivanje na jednoj razini | |
Postoji jedna Superklasa. | Postoji jedna podklasa. |
Hijerarhijsko nasljeđivanje | |
Postoji jedna Superklasa | Postoje mnoge podklase. |
Višestruko nasljeđivanje | |
Postoji mnogo Superklasa. | Postoji jedna podklasa. |
Sažetak – Superklasa vs podklasa
Nasljeđivanje je koncept OOP-a. Omogućuje korištenje svojstava i metoda postojeće klase kojima može pristupiti nova klasa. Naslijeđena klasa je Superklasa, a izvedena klasa je Podklasa. Razlika između Superklase i Podklase je u tome što je Superklasa postojeća klasa iz koje se izvode nove klase, dok je Podklasa nova klasa koja nasljeđuje svojstva i metode Superklase.
Preuzmite PDF Superclass vs Subclass
Možete preuzeti PDF verziju ovog članka i koristiti ga za izvanmrežne svrhe prema napomeni o citatu. Ovdje preuzmite PDF verziju Razlika između superklase i podklase