Ero polymorfismin ja perinnöllisyyden välillä OOP ssa

Avainero - polymorfismi vs. perintö OOP: ssa
 

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ä.

SISÄLLYS

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

Mikä on polymorfismi OOP: ssa?

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

Ylikuormitus

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.

ensisijainen

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.

Mikä on perintö OOP: ssa?

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ötyypit

Perintötyyppejä on erityyppisiä. Ne ovat yhden tason perintöä, monitasoista perintöä, useita perintöjä, hierarkkista perintöä ja hybridiperintöä.

Yksi perintö

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.

Monitasoinen perintö

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ö.

Monta 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ä.

Hierarkkinen perintö

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.

Hybridiperintö

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ö.

Mitkä ovat OOP: n polymorfismin ja perinnön väliset yhtäläisyydet??

  • Molemmat ovat olio-ohjelmoinnin käsitteitä.

Mikä on ero polymorfismin ja perinnöllisyyden välillä OOP: ssa?

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.

Yhteenveto - Polymorfismi vs. perintö OOP: ssa 

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ä.

Lataa PDF-muodossa polymorfismi vs. perintö OOP: sta

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

Viite:
  1. 8.3 Mikä on Java-perintö | Luento | oppitunti, Telusko Learning, 15. toukokuuta 2014. Saatavana täältä  
  2. Polymorfismi Java-opetusohjelmassa, Telusko Learning, 15. toukokuuta 2014. Saatavana täältä