Tärkein ero - ohittaminen vs. ylikuormitus C #: ssä
Keskeinen ero ohittamisen ja ylikuormituksen välillä C #: ssä on se, että ohitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu ajon aikana, kun taas ylikuormitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu kääntöhetkellä.
C # on Microsoftin kehittämä yleiskäyttöinen ohjelmointikieli. C #: n tärkein etu on, että se tukee olio-ohjelmointia (OOP). Yksi OOP-pilari on polymorfismi. Se antaa objektille monenlaisen käyttäytymisen. Polymorfismissa on kahta tyyppiä, jotka tunnetaan korvaavina ja ylikuormittavina. Tässä artikkelissa käsitellään eroa menetelmän korvaamisen ja ylikuormituksen välillä C #: ssä.
SISÄLLYS
1. Yleiskatsaus ja keskeinen ero
2. Mikä on ohittavaa C #
3. Mitä on ylikuormitus C #
4. Yli- ja ylikuormituksen yhtäläisyyksiä C #
5. rinnakkain vertailu - ohittaminen vs ylikuormitus C # taulukkomuodossa
6. Yhteenveto
Mikä on C #: n ohittaminen?
OOP: ssa on yksi toinen tärkeä käsite perintö. Sen on käytettävä jo olemassa olevan luokan määritteitä ja menetelmiä. Se parantaa koodin uudelleenkäytettävyyttä. Jo olemassa oleva luokka on perusluokka, ja uusi luokka tunnetaan johdetuksi luokaksi. Polymorfismin ohittamisessa pitäisi olla perusluokka ja johdettu luokka. Ohitetun menetelmäpuhelun sitoutuminen määritelmään tapahtuu ajon aikana. Esimerkki on seuraava.
Kuva 01: C # -ohjelma ohituksella
Yllä olevan ohjelman mukaan luokka Shape on perusluokka, ja se sisältää näyttötavan. Luokan suorakulmio ja kolmio ovat johdettuja luokkia. Näillä johdetuilla luokilla on myös sama menetelmän näyttö omien toteutustensa kanssa.
Ensin luodaan viitemuuttuja obj. Se osoittaa muoto-esineelle. Joten Shape-luokan näyttötapa suoritetaan. Sitten viitemuuttuja osoittaa Suorakulmio-objektiin. Joten Suorakulmio-luokan näyttötapa suoritetaan. Lopuksi viitemuuttuja osoittaa kolmio-objektiin. Joten, kolmio-luokan näyttötapa suoritetaan. Perusluokan näyttötapa ohitetaan johdettujen luokkien näyttötavoilla.
Suoritustapa päätetään ajon aikana. Shape-luokka kirjoitetaan 'virtuaalisella' avainsanalla. Suorakulmio- ja Kolmio-luokat kirjoitetaan avainsanalla "ohita". Jos näitä avainsanoja ei käytetä, tulosteet tulostavat Shape-luokan näyttötavan sisällön kaikille.
Mikä on ylikuormitus C #: ssa?
Ylikuormituksessa useilla menetelmillä on sama nimi, mutta erilaisilla parametreilla. Parametrit voivat olla erityyppisiä. Menetelmillä voi olla myös erilainen määrä parametreja. Menetelmän ylikuormitus tapahtuu samassa luokassa. Ylikuormitettujen menetelmien sitoutuminen määritelmään tapahtuu kääntöhetkellä. Katso alla oleva C # -ohjelma.
Kuva 02: C # -ohjelma ylikuormituksella
Yllä olevan ohjelman mukaan luokassa A on kaksi menetelmää, joiden nimi on summa. Niillä on erityyppisiä parametreja. Pääohjelmassa luodaan A-objekti. Summa (2,3) käyttää sum-menetelmää kokonaislukuilla. Summa (5.1, 7.94) käyttää summatapaa kaksinkertaisilla arvoilla. Molemmilla menetelmillä on sama nimi ja sama määrä parametreja. Mutta parametrityypit ovat erilaiset. Vaadittavaa menetelmää kutsutaan vastaavasti. Ylikuormitusta voi tapahtua myös, jos menetelmien nimet ja parametrityypit ovat samat, mutta parametrien lukumäärä on erilainen.
Mikä on C #: n ohittamisen ja ylikuormituksen yhtäläisyys?
Sekä ylivoimainen että ylikuormitus C #: ssä ovat polymorfismin tyyppejä
Mikä on ero ohittamisen ja ylikuormituksen välillä C #: ssa?
Erilainen artikkeli keskellä taulukkoa
Korvaava vs. ylikuormitus C # |
|
C #: n ohittaminen on tarjota erityinen toteutus johdetussa luokan menetelmässä menetelmälle, joka on jo olemassa perusluokassa. | C #: n ylikuormitus on luoda useita menetelmiä samalla nimellä eri toteutuksilla. |
Parametrit | |
Kohdassa C # Overriding menetelmillä on sama nimi, samat parametrityypit ja sama määrä parametreja. | C # Ylikuormituksessa menetelmillä on sama nimi, mutta eri määrä parametreja tai erityyppisiä parametreja. |
Esiintyminen | |
C #: ssä ohittaminen tapahtuu perusluokan ja johdetun luokan sisällä. | Kohdassa C # ylikuormitus tapahtuu samassa luokassa. |
Sitoutumisaika | |
Ohitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu ajon aikana. | Ylikuormitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu kääntöhetkellä. |
Synonyymit | |
Ohittamista kutsutaan ajonaikaiseksi polymorfismiksi, dynaamiseksi polymorfismiksi tai myöhäiseksi sitoutumiseksi. | Ylikuormitusta kutsutaan kokoamisaikapolymorfismiksi, staattiseksi polymorfismiksi tai varhaiseksi sitoutumiseksi. |
Yhteenveto - Korvaava vs. ylikuormitus C #
Ohittaminen ja ylikuormitus ovat kahta polymorfismin tyyppiä. Ero ohittamisen ja ylikuormituksen välillä C #: ssä on se, että ohitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu ajon aikana, kun taas ylikuormitetun menetelmäpuhelun sitoutuminen sen määrittelyyn tapahtuu kääntöhetkellä.