Object-Oriented Programming (OOP) käytetään yleisesti ohjelmistojen kehittämiseen. Monet ohjelmointikielet tukevat olio-ohjelmointia. Olio-ohjelmointi on menetelmä suunnitella ohjelma luokkien ja objektien avulla. OOP-luokka on objekti objektin luomiseksi. Luokalla on ominaisuuksia ja menetelmiä. Kohde on luokan esimerkki. OOP sisältää neljä pilaria, kuten perintö, polymorfismi, abstraktio ja kapselointi. Tässä artikkelissa käsitellään eroa polymorfismin ja perinnöllisyyden välillä OOP: ssa. avainero välillä polymorfismi ja perinnöllisyys OOP on, että Polymorfismi on esineen kyky käyttäytyä monin tavoin, ja perintö on luoda uusi luokka olemassa olevan luokan ominaisuuksilla ja menetelmillä.
1. Yleiskatsaus ja keskeiset erot
2. Mikä on polymorfismi OOP: ssa
3. Mikä on OOP-perintö?
4. Yhdenmukaisuudet polymorfismin ja perinnöllisyyden välillä OOP: ssa
5. Vertailu rinnakkain - polymorfismi vs. perintö OOP-taulukossa
6. Yhteenveto
Polymorfismi on osoittaa useita muotoja. Yhdellä esineellä voi olla useita käyttäytymismalleja. Polymorfismi voidaan jakaa kahteen luokkaan. Ne ylikuormittavat ja ohittavat.
Katso alla oleva Java-kirjoitettu ohjelma.
Kuva 01: Ylikuormitus
Edellä olevan ohjelman mukaan luodaan tyypin A objekti. Kun soitat obj.sum (); se antaa menetelmän summaan liittyvän tuloksen (). Kun soitat obj.sum (2,3); se antaa summaan liittyvän tuotoksen (int a, int b). Voidaan havaita, että samalla esineellä on erilainen käyttäytyminen tilanteesta riippuen. Kun on useita menetelmiä, joilla on sama nimi, mutta joilla on eri parametrit, se tunnetaan nimellä ylikuormitus. Se tunnetaan myös nimellä staattinen sidonta tai koota aikapolymorfismi.
Toinen tyyppi polymorfismi on ensisijainen. Katso alla oleva Java-kirjoitettu ohjelma.
Kuva 02: Ohittaminen
Yllä olevan ohjelman mukaan luokassa A on menetelmänäyttö (). B-luokka ulottuu luokasta A. Siksi kaikki luokan A menetelmät ovat saavutettavissa luokalla B. Se on perintö. Perintökonsepti kuvataan tarkemmin myöhemmin.
B-luokalla on myös sama menetelmänäyttö (). Kun luot objektin tyyppiä A ja kutsuvan näyttötavan, lähtö antaa B. Luokan A näyttömenetelmä ohitetaan luokan B näyttömenetelmällä. Joten, lähtö on B.
Kun on menetelmiä, joilla on sama nimi ja samat parametrit, mutta kahdessa eri luokassa, ja ne liittyvät perintöön, se tunnetaan ohittavana. Se tunnetaan myös nimellä Myöhäinen sitoutuminen, dynaaminen sitoutuminen, kestoinen polymorfismi. Ylikuormitusta ja ohittamista kutsutaan polymorfismiksi. Se on pääkonsepti olio-ohjelmoinnissa.
Katso alla oleva Java-kirjoitettu ohjelma.
Kuva 03: Esimerkki perinnöstä
Yllä olevan ohjelman mukaan luokalla A on menetelmän summa () ja luokalla B on menetelmä sub ().
Luokan A summa () -menetelmää voidaan käyttää luokassa B käyttämällä avainsanaa. Olemassa olevan luokan ominaisuuksien ja menetelmien käyttäminen uudelleen uuden luokan luomiseksi tunnetaan nimellä Perimä. Jopa luokassa B ei ole sum () -menetelmää; se on peritty luokalta A. Periminen on hyödyllistä koodin uudelleenkäytettävyydelle. Vanhempaa luokkaa kutsutaan perusluokka, superluokka tai vanhempi luokka. Johdettua luokkaa kutsutaan alaluokka tai lasten luokka.
Perintötyyppejä on erityyppisiä. Ne ovat yhden tason perintöä, monitasoista perintöä, useita perintöjä, hierarkkista perintöä ja hybridiperintöä.
Yhdessä perinnössä on yksi superluokka ja yksi alaluokka. Jos luokka A on superluokka ja luokka B on alaluokka, kaikki luokan A ominaisuudet ja menetelmät ovat saavutettavissa luokalla B. On vain yksi taso; siksi sitä kutsutaan yksitason perintöksi.
Monitasoisessa perinnössä luokkia on kolme tasoa. Keskiluokka perii superluokalta. Alaluokka perii keskiluokasta. Jos luokkia on kolme, kuten A, B ja C ja A on superluokka ja B on keskiluokka. Sitten B perii A: lta ja C perii B: ltä, se on monitasoinen perintö.
Moniperinnöllisyydessä on monia superluokkia ja yksi alaluokka. Jos on olemassa kolme superluokkaa, nimeltään A, B, C ja D on alaluokka, niin luokka D voi periä A: sta, B: stä ja C: stä. Ohjelmointikielellä C ++ tuetaan useita perimisiä. Sitä ei tueta ohjelmointikielissä, kuten Java tai C #. Rajapintoja käytetään moniperinnön toteuttamiseen näillä kielillä.
Jos on luokkia, joita kutsutaan A superluokiksi ja B, C ovat alaluokkia, nämä alaluokat voivat periä luokan A ominaisuuksia ja menetelmiä. Tällainen perintyyppi tunnetaan nimellä Hierarkkinen periminen.
On olemassa toinen erityinen perintötyyppi, joka tunnetaan nimellä hybridiperintö. Se on yhdistelmä monitasoista ja monta perintöä. Jos A, B, C ja D ovat luokkia ja B perii A: lta ja D perii sekä B: ltä että C: ltä, niin se on hybridiperintö.
Polymorfismi vs. perintö OOP: ssa | |
Polymorfismi on esineen kyky käyttäytyä monin tavoin. | Perintö on uuden luokan luominen olemassa olevan luokan ominaisuuksilla ja menetelmillä. |
Käyttö | |
Polymorfismia käytetään objekteihin soittamaan, minkä tyyppisiä menetelmiä kootaan ajallaan ja suoritusaikana. | Perintöä käytetään koodin uudelleenkäytettävyyteen. |
Toteutus | |
Polymorfismi toteutetaan menetelmissä. | Perintö toteutetaan luokissa. |
Luokat | |
Polymorfismi voidaan jakaa ylikuormitukseen ja ohittamiseen. | Perintö voidaan jakaa yksitasoiseen, monitasoiseen, hierarkkiseen, hybridi- ja moniperintöön. |
Polymorfismi ja perintö ovat pääkonsepteja olio-ohjelmoinnissa. Polymorfismin ja perinnöllisyyden välinen ero OOP: ssa on se, että polymorfismi on yhteinen rajapinta monille muodoille ja perinnöllisyys on uuden luokan luominen olemassa olevan luokan ominaisuuksilla ja menetelmillä. Molempia käsitteitä käytetään laajasti ohjelmistokehityksessä.
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä. Polymorfismin ja perinnöllisyyden ero OOP: ssa