Különbség a módszer túlterhelése és felülbírálása között

Módszer túlterhelés

A módszer túlterhelése, más néven Funkcionális túlterhelés vagy Összeállítva az idő polimorfizmusának fogalma: két vagy több módszer ugyanazon a néven, de eltérő aláírással, azonos hatókörben. Számos programozási nyelv támogatja ezt a funkciót: Ada, C ++, C #, D és Java.

Példa a módszer túlterhelésére C # -ben
Amint az a fenti példában látható, a 'Sokszög' metódust háromszor túlterheljük eltérő módszer-aláírással, azaz a típus vagy a paraméterek száma különbözik.

A módszer felülbírálása

A módszer felülbírálása, amelyet Funkció felülbírálásnak vagy Futási idő polimorfizmusnak is nevezünk, egy olyan OOP szolgáltatás, amely lehetővé teszi a gyermek osztály számára, hogy saját megvalósítását biztosítsa a szülő osztályban meghatározott módszerhez. A gyermekosztályban alkalmazott végrehajtás felülbírálja a módszer meghatározását az alaposztályban, feltéve, hogy a gyermekosztályban alkalmazott módszernek azonos névvel, aláírással és visszatérési típussal kell rendelkeznie..

Példa a C felülíró módszer felülírására
Itt a Source2 osztály rajzolási módszere felülbírálja a Source1 osztályban meghatározott rajzolási módszert.

Különbség a módszer túlterhelése és a módszer felülírása között

  1. A módszernél a túlterhelési módszereknek más aláírással kell rendelkezniük. A módszernél a felülíró módszereknek azonos aláírással kell rendelkezniük.
  2. A funkcionális túlterhelés az, hogy a módszer viselkedését „add” vagy „kiterjessze”. A funkció felülbírálása az, hogy a módszer viselkedését teljesen „megváltoztassuk” vagy „újradefiniáljuk”.
  3. A módszer túlterhelését a Compile time polimorfizmus elérésére használjuk; A felülíró módszer a futásidejű polimorfizmus elérésére szolgál.
  4. A metódus / funkció túlterhelésekor az fordító tudja, melyik objektumhoz tartozik az osztályhoz a fordítás időpontjában, de a módszernél ezek az információk felülbírálása futásidőig nem ismert..
  5. A funkció túlterhelése ugyanabban az osztályban zajlik, míg a felülbírálás egy alap osztályból származtatott osztályban történik.
AZT