avainero ohittamisen ja ylikuormituksen välillä C #: ssä on se ylikuormitetun metodikutsun sitominen sen määritelmään tapahtuu suorituksen aikana, kun taas ylikuormitetun menetelmäkutsu sitoutuu määritelmään tapahtuu käännöshetkellä.
C # on Microsoftin kehittämä yleiskäyttöinen ohjelmointikieli. C #: n tärkein etu on, että se tukee objektiohjattua ohjelmointia (OOP). Yksi OOP-pilari on polymorfismi. Se antaa esineelle useita käyttäytymismalleja. Polymorfismissa on kahta tyyppiä, joita kutsutaan ohittamiseksi ja ylikuormitukseksi. Tässä artikkelissa käsitellään menetelmän ohittamisen ja ylikuormituksen eroa C #: ssä..
1. Yleiskatsaus ja keskeiset erot
2. Mikä on tärkeämpää C #: ssä
3. Mikä on ylikuormitus C #: ssä
4. Yhtäläisyydet C-ylikuormituksen ja ylikuormituksen välillä
5. Vertailu rinnakkain - C #: n ohittaminen vs. ylikuormitus taulukkomuodossa
6. Yhteenveto
OOP: ssa on yksi tärkeä käsite on perintö. Tarkoitus on käyttää jo olemassa olevan luokan määritteitä ja menetelmiä. Se parantaa koodin uudelleenkäytettävyyttä. Jo olemassa oleva luokka on perusluokka, ja uusi luokka tunnetaan johdettu luokana. Polymorfismin ohittamisessa tulisi olla perusluokka ja johdettu luokka. Ohitetun menetelmän puhelun sitominen määritelmään tapahtuu suorituksen aikana. Esimerkki on seuraava.
Kuva 01: C # Ohitusohjelma
Yllä olevan ohjelman mukaan luokan muoto on perusluokka, ja se sisältää näyttömenetelmän. Luokan suorakulmio ja kolmio ovat johdettuja luokkia. Näillä johdettuilla luokilla on myös sama menetelmänäyttö omilla toteutuksillaan.
Ensin luodaan referenssimuuttuja obj. Se osoittaa muoto-esineen. Joten Shape-luokan näyttömenetelmä suoritetaan. Sitten vertailumuuttuja osoittaa suorakulmioobjektiin. Joten suorakulmion luokan näyttömenetelmä suoritetaan. Lopuksi vertailumuuttuja osoittaa kolmio-esineeseen. Joten kolmion luokan näyttömenetelmä suoritetaan. Perusluokan näyttömenetelmä ohitetaan johdettujen luokkien näyttömenetelmillä.
Suoritettavasta menetelmästä päätetään ajon aikana. Muoto luokka on kirjoitettu 'virtuaalisella' avainsanalla. Suorakulmio ja kolmio luokat kirjoitetaan 'ohittaa' -sanalla. Jos näitä avainsanoja ei käytetä, tuloste tulostaa Shape-luokan näyttötavan sisällön kaikille.
Ylikuormituksen yhteydessä useilla menetelmillä on sama nimi, mutta eri parametreilla. Parametrit voivat olla erityyppisiä. Menetelmillä voi myös olla erilainen lukumäärä parametreja. Menetelmän ylikuormitus tapahtuu samassa luokassa. Ylikuormitettujen menetelmien sitominen määritelmään tapahtuu käännöshetkellä. Katso alla olevaa C # -ohjelmaa.
Kuva 02: C # -ohjelma ylikuormituksella
Yllä olevan ohjelman mukaan luokalla A on kaksi menetelmää samalla nimellä, nimeltään summa. Niillä on erityyppisiä parametreja. Pääohjelmassa luodaan kohteen A objekti. Summa (2,3) kutsuu summamenetelmää kokonaislukuina. Summa (5.1, 7.94) käyttää summamenetelmää kaksoisarvoilla. Molemmilla menetelmillä on sama nimi ja sama määrä parametreja. Mutta parametrityypit ovat erilaisia. Vaadittua menetelmää kutsutaan vastaavasti. Ylikuormitusta voi tapahtua myös, jos menetelmän nimet ja parametrityypit ovat samat, mutta parametrien lukumäärä on erilainen.
Ohittaminen vs ylikuormitus C #: ssä | |
C #: n ohittaminen on tarjota erityinen toteutus johdetussa luokan menetelmässä menetelmälle, joka on jo olemassa perusluokassa. | Ylikuormitus C #: ssä on luoda useita menetelmiä samalla nimellä erilaisilla toteutuksilla. |
parametrit | |
C # Ohitus -menetelmällä menetelmillä on sama nimi, samat parametrityypit ja sama määrä parametreja. | C # Ylikuormituksessa menetelmillä on sama nimi, mutta eri lukumäärä parametreja tai erityyppiset parametrit. |
esiintyminen | |
C #: ssa ohittaminen tapahtuu perusluokassa ja johdetussa luokassa. | C #: ssa ylikuormitus tapahtuu saman luokan sisällä. |
Sitoutumisaika | |
Ohitetun menetelmän kutsun sitominen sen määritelmään tapahtuu suorituksen aikana. | Ylikuormitetun menetelmäkutsu sitoudutaan määritelmäänsä tapahtuu käännöshetkellä. |
synonyymit | |
Ohitusta kutsutaan nimellä ajonaikainen polymorfismi, dynaaminen polymorfismi tai myöhäinen sidonta. | Ylikuormitusta kutsutaan nimellä koota aikapolymorfismi, staattinen polymorfismi tai varhainen sidonta. |
Ylikuormitus ja ylikuormitus ovat kahta tyyppiä polymorfiaa. Ero ohittamisen ja ylikuormituksen välillä C #: ssä on se, että ohitetun menetelmän puhelun sitominen määritelmään tapahtuu suorituksen aikana, kun taas ylikuormitetun menetelmäkutsu sitoutuu määritelmään tapahtuu käännöshetkellä.
1.Kumar, Mukesh. C # Kulma. Saatavilla täältä
2.tutorialspoint.com. "C # polymorfismi." TutorialsPoint. Saatavilla täältä
3.tutorialspoint.com. "C # tietotyypit." TutorialsPoint, saatavana täältä