OOP:n polymorfismin ja periytymisen välinen ero

Sisällysluettelo:

OOP:n polymorfismin ja periytymisen välinen ero
OOP:n polymorfismin ja periytymisen välinen ero

Video: OOP:n polymorfismin ja periytymisen välinen ero

Video: OOP:n polymorfismin ja periytymisen välinen ero
Video: JavaScript Classes #5: Polymorphism - JavaScript OOP Tutorial 2024, Marraskuu
Anonim

Avainero – polymorfismi vs periytyminen OOP:ssa

OOP-ohjelmointia (Object-Oriented Programming) käytetään yleisesti ohjelmistojen kehittämiseen. Monet ohjelmointikielet tukevat olio-ohjelmointia. Olio-ohjelmointi on menetelmä ohjelman suunnittelemiseksi luokkien ja objektien avulla. OOP:n luokka on suunnitelma objektin luomiseksi. Luokassa on ominaisuuksia ja menetelmiä. Objekti on luokan esiintymä. OOP sisältää neljä pilaria, kuten perinnöllisyys, polymorfismi, abstraktio ja kapselointi. Tässä artikkelissa käsitellään polymorfismin ja periytymisen eroa OOP:ssa. Keskeinen ero OOP:n polymorfismin ja periytymisen välillä on, että polymorfismi on objektin kyky käyttäytyä useilla tavoilla, ja periytyminen on luoda uusi luokka käyttämällä olemassa olevan luokan ominaisuuksia ja menetelmiä.

Mitä OOP:n polymorfismi on?

Polymorfismilla tarkoitetaan useita muotoja. Yhdellä esineellä voi olla useita käyttäytymismalleja. Polymorfismi voidaan jakaa kahteen luokkaan. Ne ylikuormittavat ja ohittavat.

Ylikuormitus

Katso alla olevaa Java-kielellä kirjoitettua ohjelmaa.

Ero polymorfismin ja periytymisen välillä OOP:ssa
Ero polymorfismin ja periytymisen välillä OOP:ssa

Kuva 01: Ylikuormitus

Yllä olevan ohjelman mukaisesti luodaan A-tyypin objekti. Kutsuttaessa obj.sum(); se antaa menetelmään sum() liittyvän lähdön. Kutsuttaessa obj.sum(2, 3); se antaa tuloksen, joka liittyy summaan (int a, int b). Voidaan havaita, että sama kohde käyttäytyy eri tavalla tilanteesta riippuen. Kun useita menetelmiä on samalla nimellä, mutta eri parametreilla, sitä kutsutaan ylikuormitukseksi. Se tunnetaan myös nimellä staattinen sidonta tai käännösaikapolymorfismi.

Ohittava

Toisentyyppinen polymorfismi on ylivoimainen. Katso alla oleva Java-kielellä kirjoitettu ohjelma.

Ero polymorfismin ja periytymisen välillä OOP_Kuvassa 02
Ero polymorfismin ja periytymisen välillä OOP_Kuvassa 02

Kuva 02: Ohittaminen

Yllä olevan ohjelman mukaan luokassa A on method display()-menetelmä. Luokka B ulottuu luokasta A. Siksi kaikki luokan A menetelmät ovat luokan B käytettävissä. Se on periytymistä. Perinnön käsitettä kuvataan tarkemmin myöhemmin.

Luokalla B on myös sama display(). Kun luot A-tyypin objektia ja kutsut näyttömenetelmää, tulos antaa B:n. Luokan A näyttömenetelmä ohittaa luokan B näyttömenetelmän. Joten tulos on B.

Kun on menetelmiä, joilla on sama nimi ja samat parametrit, mutta kahdessa eri luokassa, ja ne on linkitetty periytyvästi, sitä kutsutaan ohitukseksi. Se tunnetaan myös nimellä Late side, Dynamic Binding, Runtime Polymorphism. Ylikuormitusta ja ohittamista kutsutaan polymorfismiksi. Se on tärkeä konsepti olioohjelmoinnissa.

Mitä OOP:n perintö on?

Katso alla olevaa Java-kielellä kirjoitettua ohjelmaa.

Keskeinen ero polymorfismin ja periytymisen välillä OOP:ssa
Keskeinen ero polymorfismin ja periytymisen välillä OOP:ssa

Kuva 03: Esimerkki perinnöstä

Yllä olevan ohjelman mukaan luokassa A on metodi sum() ja luokassa B on metodi sub().

Luokan A summa()-menetelmää voidaan käyttää luokassa B käyttämällä laajennusavainsanaa. Olemassa olevan luokan ominaisuuksien ja menetelmien uudelleenkäyttöä uuden luokan luomiseksi kutsutaan perintöksi. Edes luokassa B ei ole sum()-metodia; se on peritty luokasta A. Periytys on hyödyllistä koodin uudelleenkäytettävyyden kann alta. Vanhempaa luokkaa kutsutaan perusluokiksi, superluokiksi tai yläluokiksi. Johdettua luokkaa kutsutaan alaluokaksi tai alaluokaksi.

Perintötyypit

Perintöjä on erilaisia. Ne ovat yksitasoinen perintö, monitasoinen perintö, moniperintö, hierarkkinen perintö ja hybridiperintö.

Yksittäinen perintö

Single Heritancessa on yksi superluokka ja yksi alaluokka. Jos luokka A on superluokka ja luokka B on alaluokka, kaikki luokan A ominaisuudet ja menetelmät ovat luokan B käytettävissä. Tasoja on vain yksi; siksi sitä kutsutaan yksitasoiseksi perinnöksi.

Monitasoinen perintö

Monitasoisessa perinnössä on kolme luokkatasoa. Väliluokka periytyy superluokasta. Alaluokka periy väliluokan. Jos luokkia on kolme, kuten A, B ja C ja A on superluokka ja B on väliluokka. Sitten B perii A:lta ja C perii B:ltä, se on monitasoinen perintö.

Moniperintö

Multiple Heritancessa on monia superluokkia ja yksi alaluokka. Jos on kolme superluokkaa nimeltä A, B, C ja D on alaluokka, niin luokka D voi periytyä A:sta, B:stä ja C:stä. Multiple Heritance on tuettu ohjelmointikielessä C++. Sitä ei tueta ohjelmointikielissä, kuten Java tai C. Liitäntöjä käytetään moniperinnön toteuttamiseen näillä kielillä.

Hierarkkinen perintö

Jos superluokkia kutsutaan A-luokiksi ja B, C ovat alaluokkia, nämä alaluokat voivat periä luokan A ominaisuuksia ja menetelmiä. Tällaista periytymistyyppiä kutsutaan hierarkkiseksi periytymiseksi.

Hybridiperintö

On olemassa toinen erityinen periytymistyyppi, joka tunnetaan nimellä hybridiperintö. Se on monitasoisten ja useiden perintöjen yhdistelmä. Jos A, B, C ja D ovat luokkia ja B perii A:lta ja D perii sekä B:ltä että C:ltä, se on hybridiperintö.

Mitä yhtäläisyyksiä polymorfismin ja periytymisen välillä on OOP:ssa?

Molemmat ovat olio-ohjelmoinnin käsitteitä

Mitä eroa on polymorfismin ja periytymisen välillä OOP:ssa?

OOP:n polymorfismi vs periytyminen

Polymorfismi on kohteen kykyä käyttäytyä monin tavoin. Perinnöllä luodaan uusi luokka käyttämällä olemassa olevan luokan ominaisuuksia ja menetelmiä.
Käyttö
Polymorfismia käytetään objekteille, jotka kutsuvat minkä muodon menetelmiä käännös- ja suoritusaikana. Perintöä käytetään koodin uudelleenkäytettävyyteen.
Toteutus
Polymorfismi toteutetaan menetelmissä. Perintö on toteutettu luokissa.
Luokat
Polymorfismi voidaan jakaa ylikuormitukseen ja ohittamiseen. Perintö voidaan jakaa yksitasoiseen, monitasoiseen, hierarkkiseen, hybridi- ja moniperinnöön.

Yhteenveto – OOP:n polymorfismi vs periytyminen

Polymorfismi ja periytyminen ovat tärkeitä käsitteitä olio-ohjelmoinnissa. Ero OOP:n polymorfismin ja periytymisen välillä on, että polymorfismi on yhteinen rajapinta useille muodoille ja perinnöllä luodaan uusi luokka käyttämällä olemassa olevan luokan ominaisuuksia ja menetelmiä. Molempia käsitteitä käytetään laajasti ohjelmistokehityksessä.

Lataa PDF:n polymorfismi vs periytyminen OOP:ssa

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero polymorfismin ja periytymisen välillä OOP

Suositeltava: