Peamine erinevus – superklass vs alamklass
Objektorienteeritud programmeerimise (OOP) puhul modelleeritakse süsteemi objektide abil. Need objektid luuakse klassi abil. Klass on kavand või kirjeldus objekti loomiseks. Objekti loomist tuntakse ka kui objektide instantseerimist. Iga objekt suhtleb teiste objektidega. Programmi või tarkvara saab arendada objektorienteeritud programmeerimise abil. Pärand on OOP-i peamine kontseptsioon. See parandab koodi korduvkasutatavust. Selle asemel, et rakendada programmi algusest peale, võimaldab see pärida juba olemasoleva klassi atribuute ja meetodeid uude klassi. See aitab muuta programmi paremini hallatavaks. Ülemklass ja alamklass on kaks terminit, mis on seotud pärimisega. Selles artiklis käsitletakse erinevust superklassi ja alamklassi vahel. Peamine erinevus ülemklassi ja alamklassi vahel on see, et superklass on olemasolev klass, millest uued klassid tuletatakse, samas kui alamklass on uus klass, mis pärib superklassi omadused ja meetodid.
Mis on superklass?
Pärimises tuntakse olemasolevat klassi, millest uued klassid tuletatakse, superklassina. Seda tuntakse ka kui põhiklassi või põhiklassi.
Pärimise tüüpe on erinevaid. Need on illustreeritud järgmiste näidete abil. Võtke A B ja C klassidena.
Joonis 01: Päranditüübid
Joonis 02: Hübriidpärimine
Vastav alt ül altoodud diagrammidele on superklassid olenev alt pärimistüübist erinevad. Ühetasandilise pärimise korral on A superklass. Mitmetasandilise pärimise korral on A B jaoks superklass ja B on C jaoks ülemklass. Hierarhilises pärandis on A nii B kui ka C üliklass. Mitme pärimise korral on nii A kui ka B C jaoks superklass.
Hübriidpärimine on mitmetasandilise ja mitme pärandi kombinatsioon. Vasakpoolsel diagrammil on A B, C ja B superklass, C on D superklass. Parempoolsel diagrammil on A B ja B superklass, D on C jaoks ülemklass.
Vaadake allolevat Java keeles kirjutatud programmi.
Joonis 03: Pärimisprogramm Java-s
Vastav alt ül altoodud programmile on klassil A meetodid summa() ja alam(). Klassil B on korrutamismeetod. Klass B laiendab klassi A. Seetõttu on klassi A omadused ja meetodid klassile B juurdepääsetavad. Seetõttu on klass A superklass. Objekti loomiseks võetakse B-klassi viitetüüp. Seega on objektile juurdepääsetavad kõik meetodid, nagu sum(), sub() ja multiply(). Kui objekti loomiseks kasutatakse superklassi viitetüüpi, ei ole B-klassi liikmed juurdepääsetavad. nt. A obj=uus B(); Seetõttu ei saa superklassi viide kutsuda meetodit multiply(), kuna see meetod kuulub klassi B.
Mis on alamklass?
Vastav alt ül altoodud diagrammidele erinevad alamklassid olenev alt pärimistüübist. Üksikpärimise korral on B alamklass. Mitmetasandilise pärimise korral on B A alamklass ja C on B alamklass. Hierarhilises pärandis on B ja C A alamklassid. Mitme pärimise korral on C A ja B alamklass.
Hübriidse pärimise korral on vasakpoolne diagramm, B ja C A alamklassid. D on B ja C alamklass. Parempoolsel diagrammil B on A alamklass. C on alamklass B-st ja D-st.
Vastav alt ül altoodud pärimisprogrammile laiendab klass B klassi A. Seetõttu on klassi B jaoks juurdepääsetavad kõik klassi A omadused ja meetodid. Klass B on uus klass, mis pärib klassist A. Seda tuntakse kui alamklass. Seda tuntakse ka kui alamklassi või tuletatud klassi. Klassil B on korrutamismeetod () ja see pääseb pärimise abil juurde ka klassi A meetoditele summa() ja alam().
Milline on superklassi ja alamklassi sarnasus?
Mõlemad on seotud pärimisega
Mis vahe on superklassil ja alamklassil?
Superklass vs alamklass |
|
Pärimise juurutamisel on olemasolev klass, millest uued klassid tuletatakse, superklass. | Pärimise juurutamisel pärib superklassi atribuudid ja meetodid alamklass. |
Sünonüümid | |
Superklass on tuntud kui põhiklass, emaklass. | Alamklassi tuntakse tuletatud klassina, alamklassina. |
Funktsionaalsus | |
Ülemklass ei saa kasutada alamklassi omadusi ja meetodeid. | Alamklass võib kasutada superklassi omadusi ja meetodeid. |
Ühetasandiline pärand | |
On üks superklass. | On üks alamklass. |
Hierarhiline pärand | |
On üks superklass | Alamklasse on palju. |
Mitme pärimine | |
Superklasse on palju. | On üks alamklass. |
Kokkuvõte – superklass vs alamklass
Pärimine on OOP mõiste. See võimaldab kasutada olemasoleva klassi atribuute ja meetodeid, millele pääseb juurde uus klass. Päritud klass on superklass ja tuletatud klass on alamklass. Superklassi ja alamklassi erinevus seisneb selles, et superklass on olemasolev klass, millest tuletatakse uued klassid, samas kui alamklass on uus klass, mis pärib superklassi omadused ja meetodid.
Laadi alla PDF-i superklass vs alamklass
Saate alla laadida selle artikli PDF-versiooni ja kasutada seda võrguühenduseta kasutamiseks vastav alt tsitaadi märkusele. Palun laadige PDF-versioon alla siit. Erinevus superklassi ja alamklassi vahel