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..
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
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.
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ő.
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. |
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..
1.Kumar, Mukesh. C # sarok. Itt érhető el
2.tutorialspoint.com. "C # polimorfizmus." TutorialsPoint. Itt érhető el
3.tutorialspoint.com. "C # Adattípusok." TutorialsPoint, elérhető itt