Különbség a felülbírálás és a túlterhelés között a C # -ben

Fő különbség - felülbíráló vs A túlterhelés a C #
 

Az kulcs különbség a felülírás és a túlterhelés között a C #-ban az a felülírott módszerhívás és annak meghatározása összerendelése futásidejűleg történik, míg a túlterhelt módszerhívás és a definíció összekapcsolása fordítási időpontban történik.

A C # a Microsoft által kifejlesztett általános célú programozási nyelv. A C # fő előnye, hogy támogatja az Object-Oriented Programozást (OOP). Az OOP egyik pillére a polimorfizmus. Az objektum több viselkedést ad. A polimorfizmusnak két típusa létezik: felülíró és túlterhelő. Ez a cikk tárgyalja a különbséget a módszer felülírása és a túlterhelés között a C # -ben..

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi a legfontosabb C # -ben?
3. Mi a túlterhelés a C # -ben?
4. A felülbírálás és a túlterhelés hasonlóságai a C # -ben
5. Side by side összehasonlítás - felülbírálás vs túlterhelés táblázatos formában a C # -ben
6. Összegzés

Mi a legfontosabb C # -ben??

Van egy másik fontos fogalom az OOP-ban az öröklés. A már létező osztály attribútumait és módszereit kell használni. Javítja a kód újrafelhasználhatóságát. A már létező osztály az alaposztály, az új osztály pedig származtatott osztály. A polimorfizmus felülbírálásakor léteznie kell egy alaposztálynak és egy származtatott osztálynak. A felülbírált módszerhívás és a definíció összerendelése futási időben történik. Egy példa a következő.

01. ábra: C # program felülírással

A fenti program szerint a Shape osztály az alaposztály, és a megjelenítési módszert tartalmazza. Az osztály téglalap és a háromszög származtatott osztályok. Ezeknek a származtatott osztályoknak ugyanaz a módszermegjelenítésük van a saját megvalósításukkal.

Először létrejön az obj referenciaváltozó. A Shape objektumra mutat. Tehát a Shape osztály megjelenítési módja végrehajtódik. Ezután a referenciaváltozó a Téglalap objektumra mutat. Tehát a Téglalap osztály megjelenítési módja végrehajtódik. Végül a referenciaváltozó a Háromszög objektumra mutat. Tehát a Háromszög osztály megjelenítési módja végrehajtódik. Az alap osztály megjelenítési módszerét felülbírálják a származtatott osztályok megjelenítési módszerei.

A futtatás módjáról a futási időben döntenek. A Shape osztály 'virtuális' kulcsszóval van írva. A Téglalap és a Háromszög osztályokat 'felülírás' kulcsszóval írják. Ha ezeket a kulcsszavakat nem használja, akkor a kimenet mindenki számára kinyomtatja a Shape osztály megjelenítési módszerének tartalmát.

Mi az a túlterhelés a C # -ben??

A túlterhelés során több módszernek ugyanaz a neve, de eltérő paraméterekkel. A paraméterek különféle lehetnek. A módszereknek eltérő számú paramétere is lehet. A módszer túlterhelése ugyanabban az osztályban történik. A túlterhelt módszereknek a definícióhoz való kötődése fordításkor történik. Lásd az alábbi C # programot.

02 ábra: C # Program túlterheléssel

A fenti program szerint az A osztálynak két azonos nevű módszere van, az úgynevezett összeg. Különböző típusú paramétereik vannak. A főprogramban létrejön egy A objektum. Az összeg (2,3) egész számokkal hívja meg az összeg módszerét. Az összeg (5.1, 7.94) kettős értékekkel hívja fel az összeg módszerét. Mindkét módszernek ugyanaz a neve és azonos száma paramétereket. De a paraméter típusok különböznek. A szükséges módszert ennek megfelelően hívják. Túlterhelés akkor is előfordulhat, ha a metódus neve és a paraméter típusa azonos, de a paraméterek száma eltérő.

Milyen hasonlóság van a felülbírálás és a túlterhelés között a C # -ben??

  • Mind a felülbírálás, mind a túlterhelés a C # -ben a polimorfizmus típusa.

Mi a különbség a felülírás és a túlterhelés között C #?

Felülbírálás vs túlterhelés a C # -ben

A C # esetében az elsőbbség az, hogy egy származtatott osztály módszerben egy specifikus megvalósítást biztosítson egy olyan módszerhez, amely már létezik az alap osztályban. A C # túlterhelése több módszer létrehozása azonos névvel, különböző implementációkkal.
 paraméterek
A C # felülbírálás esetén a metódusok neve azonos, ugyanazok a paraméter típusok és azonos számú paraméter. A C # Túlterhelés esetén a módszereknek ugyanaz a neve, de eltérő számú paraméter vagy eltérő típusú paraméter.
Esemény
A C # esetében a felülbírálás az alaposztályon és a származtatott osztályon belül történik. A C # esetében a túlterhelés ugyanazon osztályon belül történik.
 Kötési idő
A felülbírált módszer hívásának a definíciójához kötése futási időben történik. A túlterhelt módszerhívásnak a definícióhoz kötése fordításkor történik.
Szinonimák
A felülbírálást úgy hívják, mint futásidejű polimorfizmus, dinamikus polimorfizmus vagy késői kötés. A túlterhelést úgy hívják összeállítani az időpolimorfizmust, statikus polimorfizmus vagy korai kötés.

összefoglalás - Felfedő vs A túlterhelés a C #

A felülbírálás és a túlterhelés a polimorfizmus két típusa. A C # felülbírálása és a túlterhelés között az a különbség, hogy a felülbírált módszerhívásnak a definíciójához történő kötése futásidejűleg történik, míg a túlterhelt módszerhívás a definíciójához történő összerendelése fordítási időpontban történik..

Referencia:

1.Kumar, Mukesh. C # sarok. Itt érhető el
2.tutorialspoint.com. "C # polimorfizmus." TutorialsPointItt érhető el
3.tutorialspoint.com. "C # Adattípusok." TutorialsPoint, elérhető itt