Pagrindinis skirtumas – superklasė ir poklasis
Objektiniame programavime (OOP) sistema modeliuojama naudojant objektus. Šie objektai sukurti naudojant klasę. Klasė yra brėžinys arba aprašymas, skirtas sukurti objektą. Objektų kūrimas taip pat žinomas kaip objekto egzistavimas. Kiekvienas objektas bendrauja su kitais objektais. Programą ar programinę įrangą galima sukurti naudojant objektinį programavimą. Paveldėjimas yra pagrindinė OOP sąvoka. Tai pagerina kodo pakartotinį naudojimą. Užuot įdiegę programą nuo pat pradžių, ji leidžia paveldėti jau esamos klasės savybes ir metodus į naują klasę. Tai padeda lengviau valdyti programą. Superklasė ir poklasis yra du terminai, susiję su paveldėjimu. Šiame straipsnyje aptariamas skirtumas tarp Superclass ir Subclass. Pagrindinis skirtumas tarp superklasės ir poklasio yra tas, kad superklasė yra esama klasė, iš kurios gaunamos naujos klasės, o poklasis yra nauja klasė, kuri paveldi superklasės savybes ir metodus.
Kas yra superklasė?
Paveldėjimo srityje esama klasė, iš kurios gaunamos naujos klasės, yra žinoma kaip superklasė. Ji taip pat žinoma kaip pagrindinė klasė arba bazinė klasė.
Yra įvairių paveldėjimo tipų. Jie iliustruojami naudojant šiuos pavyzdžius. Laikykite A B ir C klasėmis.
01 pav.: paveldėjimo tipai
02 pav.: hibridinis paveldėjimas
Pagal aukščiau pateiktas diagramas, superklasės skiriasi priklausomai nuo kiekvieno paveldėjimo tipo. Vieno lygio paveldėjimo atveju A yra superklasė. Kelių lygių paveldėjimo atveju A yra B superklasė, o B yra C superklasė. Hierarchinio paveldėjimo atveju A yra B ir C superklasė. Daugiapakopių paveldėjimo atveju ir A, ir B yra C superklasės.
Hibridinis paveldėjimas yra kelių lygių ir kelių paveldėjimo derinys. Kairėje pusėje esančioje diagramoje A yra B, C ir B superklasė, C yra D superklasės. Dešinės pusės diagramoje A yra B ir B superklasė, D yra C superklasės.
Žiūrėkite toliau pateiktą programą, parašytą Java.
03 pav. Paveldėjimo programa Java
Pagal aukščiau pateiktą programą, A klasė turi sum() ir sub() metodus. B klasė turi daugybos () metodą. B klasė išplečia A klasę. Todėl A klasės savybes ir metodus gali pasiekti B klasė. Todėl A klasė yra superklasė. Objektui sukurti naudojamas B klasės atskaitos tipas. Taigi, objektas gali pasiekti visus metodus, tokius kaip suma(), sub() ir multiply(). Jei objekto kūrimui naudojamas Superclass nuorodos tipas, B klasės nariai negali būti pasiekiami. pvz. A obj=naujas B(); Todėl Superclass nuoroda negali iškviesti metodo multiply(), nes šis metodas priklauso B klasei.
Kas yra poklasis?
Pagal aukščiau pateiktas diagramas, poklasiai skiriasi priklausomai nuo kiekvieno paveldėjimo tipo. Vieno paveldėjimo atveju B yra poklasis. Kelių lygių paveldėjimo atveju B yra A poklasis, o C yra B poklasis. Hierarchiniame paveldėjime B ir C yra A poklasiai. Daugelio paveldėjimo atveju C yra A ir B poklasis.
Hibridinio paveldėjimo atveju diagrama kairėje, B ir C yra A poklasiai. D yra B ir C poklasis. Diagramoje dešinėje B yra A poklasis. C yra poklasis B ir D.
Pagal pirmiau pateiktą paveldėjimo programą, B klasė išplečia A klasę. Todėl visas A klasės savybes ir metodus gali pasiekti B klasė. B klasė yra nauja klasė, kuri paveldima iš A klasės. Ji žinoma kaip poklasis. Ji taip pat žinoma kaip vaikų klasė arba išvestinė klasė. B klasė turi daugybos () metodą ir ji taip pat gali pasiekti A klasės metodus sum() ir sub() naudodama paveldėjimą.
Koks superklasės ir poklasio panašumas?
Abu yra susiję su paveldėjimu
Kuo skiriasi superklasė ir poklasis?
Superklasė prieš poklasį |
|
Įgyvendinant paveldėjimą esama klasė, iš kurios gaunamos naujos klasės, yra superklasė. | Įgyvendinant paveldėjimą, klasė, kuri paveldi savybes ir metodus iš superklasės, yra poklasis. |
Sinonimai | |
Superklasė žinoma kaip pagrindinė klasė, pagrindinė klasė. | Poklasis žinomas kaip išvestinė klasė, antrinė klasė. |
Funkcionalumas | |
Superklasė negali naudoti poklasio savybių ir metodų. | Poklasis gali naudoti superklasės savybes ir metodus. |
Vieno lygio paveldėjimas | |
Yra viena superklasė. | Yra vienas poklasis. |
Hierarchinis paveldėjimas | |
Yra viena superklasė | Yra daug poklasių. |
Kelias paveldėjimas | |
Yra daug superklasių. | Yra vienas poklasis. |
Santrauka – superklasė prieš poklasį
Paveldėjimas yra OOP sąvoka. Tai leidžia naudoti esamos klasės ypatybes ir metodus naujai klasei pasiekti. Paveldima klasė yra superklasė, o išvestinė klasė yra poklasis. Skirtumas tarp superklasės ir poklasio yra tas, kad superklasė yra esama klasė, iš kurios gaunamos naujos klasės, o poklasis yra nauja klasė, kuri paveldi superklasės savybes ir metodus.
Atsisiųskite PDF Superclass vs Subclass
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Skirtumas tarp superklasės ir poklasio