Avainero – useat vs. monitasoiset perinnöt
Object-Oriented Programming (OOP) on paradigma ohjelman suunnitteluun luokkien ja menetelmien avulla. Reaalimaailman skenaariot voidaan kartoittaa objekteihin. Siksi ohjelmistoratkaisujen rakentaminen on helppoa. Luokka on suunnitelma objektin rakentamiseksi. Se sisältää ominaisuuksia ja menetelmiä. Esimerkiksi ennen opiskelijaobjektin luomista luokassa tulisi olla luokan oppilas, jolla on ominaisuuksia ja menetelmiä. Opiskelijalla voi olla ominaisuuksia, kuten opiskelijatunnus, nimi ja menetelmät, kuten lukea, kirjoittaa, opiskella. Menetelmät kuvaavat käyttäytymistä, kun taas ominaisuudet ovat attribuutteja. Luokan luomisen jälkeen on mahdollista luoda objekteja niiden avulla. Objektien luominen tunnetaan myös nimellä Object Instantiation. Objektia ei ole olemassa erillään. Ne kommunikoivat muiden objektien kanssa ja data välitetään objektien sisällä. Yksi OOP:n pilareista on perintö. Perinnön tarkoitus on lisätä koodin uudelleenkäytettävyyttä. Se luo uuden luokan ominaisuuksia ja menetelmiä jo olemassa olevasta luokasta. Olemassa olevaa luokkaa kutsutaan perusluokkaksi ja uutta luokkaa kutsutaan johdetuksi luokkaksi. Multiple Heritance ja Multilevel Heritance ovat perintötyyppejä. Tässä artikkelissa käsitellään niiden välistä eroa. Keskeinen ero monitasoisen ja monitasoisen periytymisen välillä on se, että moniperintö tarkoittaa sitä, että luokka perii useista perusluokista, kun taas monitasoinen periytyminen on sitä, kun luokka perii johdetulta luokasta, jolloin johdettu luokka on perusluokka uudelle luokalle.
Mikä on moniperintö?
Multiple Heritance on, kun luokka perii useamman kuin yhden perusluokan.
Kuva 01: Moniperintö
A B ja C ovat luokkia. A ja B ovat perusluokkia ja C on johdettu luokka. Luokan C tulee hallita sekä perusluokkien A että B riippuvuutta. Useita perintöjä ei käytetä laajasti ohjelmistoprojekteissa. Se tekee järjestelmästä monimutkaisemman, koska yksi luokka perii useita luokkia.
Oletetaan esimerkiksi, että luokalla A ja B on molemmilla sama nimi, joka on summa() ja luokka C johtaa molemmat luokat. C-tyypin objektin luomisen ja summa () -menetelmän kutsumisen jälkeen se voi aiheuttaa virheen, koska molemmilla luokilla on sama menetelmä. Kääntäjä ei tiedä mitä funktiota kutsua. Siksi Multiple Heritance lisää järjestelmän monimutkaisuutta. Multiple Heritance on tuettu C++-kielellä, mutta kielet, kuten Java, C, eivät tue Multiple Heritancea. Sen sijaan nämä kielet käyttävät käyttöliittymää, joka on samanlainen kuin luokka, mutta jota ei voida instantoida.
Mikä on monitasoinen perintö?
Monitasoinen periytyminen on sitä, kun luokka perii johdetulta luokasta ja tekee siitä johdetun luokan perusluokan uudelle luokalle.
Kuva 02: Monitasoinen perintö
Monitasoisessa perinnössä on kolme tasoa. Väliluokka, jonka B perii luokasta A ja luokka C luokasta B. A on B:n perusluokka ja B on C:n perusluokka.
Monitasoisen periytymisen toteuttava ohjelma on seuraava. Ohjelma on kirjoitettu Javalla.
Kuva 03: Ohjelma, joka toteuttaa monitasoisen perinnön
Yllä olevan ohjelman mukaan luokka A on luokan B perusluokka. Luokka B on luokan C perusluokka. Luokka B pääsee kaikkiin luokan A ominaisuuksiin ja menetelmiin. Kaikki luokan ominaisuudet ja menetelmät Luokka C pääsee B:hen. Siksi luokka C voi käyttää sekä A:n että B:n ominaisuuksia ja menetelmiä. C-tyypin objektia luotaessa on mahdollista kutsua kaikkia kolmea menetelmää A (), B () ja C (). Tulos antaa A, B, C.
Mikä on samank altaisuus moninkertaisen ja monitasoisen periytymisen välillä?
Molemmat ovat perinnön tyyppejä
Mitä eroa on monitasoisella ja monitasoisella perinnöllä?
Moniperintö vs. monitasoinen perintö |
|
Multiple Heritance on periytymistyyppi, jossa luokka perii useammasta kuin yhdestä perusluokasta. | Monitasoinen periytyminen on periytymistyyppi, joka perii johdetulta luokasta, mikä tekee siitä johdetun luokan perusluokan uudelle luokalle. |
Käyttö | |
Moniperintöä ei käytetä laajasti, koska se tekee järjestelmästä monimutkaisemman. | Monitasoinen perintö on laaj alti käytössä. |
Luokkatasot | |
Multiple Heritancessa on kaksi luokkatasoa, nimittäin perusluokka ja johdettu luokka. | Multilevel Heritancessa on kolme luokkatasoa, nimittäin perusluokka, väliluokka ja johdettu luokka. |
Yhteenveto – Useita vs monitasoisia perintöjä
Perinnöllisyys on olio-ohjelmoinnin pääpilari. On olemassa erilaisia perintötyyppejä; ne ovat yksitasoinen perintö, monitasoinen perintö, moniperintö, hierarkkinen perintö ja hybridiperintö. Yksitasoisella perinnöllä on yksi perusluokka ja yksi johdettu luokka. Hierarkkisella perinnöllä on yksi perusluokka ja useita johdettuja luokkia. Hybridiperintö on monitasoisen ja moniperinnön yhdistelmä. Tässä artikkelissa kuvattiin ero moninkertaisen perinnän ja monitasoisen perinnän välillä. Ero usean ja monitasoisen periytymisen välillä on, että Multiple Heritance on, kun luokka perii useista perusluokista, kun taas monitasoinen periytyminen on sitä, kun luokka perii johdetusta luokasta, mikä tekee johdetusta luokasta perusluokan uudelle luokalle. Monitasoinen perintö on laaj alti käytössä kuin Multiple Heritance.
Lataa PDF-tiedosto Multiple vs Multilevel Heritance
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero usean ja monitasoisen perinnön välillä