Rozdiel medzi preťažením a prepísaním metódy

Metóda preťaženia

Preťaženie metód, známe tiež ako funkčné preťaženie alebo polymorfizmus kompilácie, je koncept, ktorý má dve alebo viac metód s rovnakým menom, ale odlišným podpisom v rovnakom rozsahu. Túto funkciu podporuje veľa programovacích jazykov: Ada, C ++, C #, D a Java.

Príklad preťaženia metódy v C #
Ako je uvedené vo vyššie uvedenom príklade, metóda „Polygon“ je preťažená trikrát rôznymi podpismi metódy, t. J. Typ alebo počet parametrov sú rôzne.

Prepísanie metódy

Prepísanie metódy, známe tiež ako funkčné potlačenie alebo polymorfizmus doby vykonávania, je vlastnosťou OOP, ktorá umožňuje podradenej triede poskytovať svoju vlastnú implementáciu metódy definovanej v nadradenej triede. Implementácia v podradenej triede prepíše definíciu metódy v základnej triede za predpokladu, že metóda v podradenej triede by mala mať rovnaký názov, podpis a návratový typ.

Príklad prepísania metódy v C #
Tu metóda draw v triede Source2 prepíše metódu draw definovanú v triede Source1.

Rozdiel medzi preťažením metódy a potlačením metódy

  1. V metóde preťaženia musia mať odlišné podpisy. V metóde musia mať hlavné metódy rovnaký podpis.
  2. Funkcia Preťaženie znamená „pridať“ alebo „rozšíriť“ viac k správaniu metódy. Prvoradou funkciou je úplne „zmeniť“ alebo „predefinovať“ správanie metódy.
  3. Preťaženie metód sa používa na dosiahnutie polymorfizmu kompilácie času; metóda overriding sa používa na dosiahnutie run-time polymorfizmu.
  4. V metóde / funkcii preťaženie kompilátor vie, ktorý objekt priradený ktorej triede v čase kompilácie, ale v metóde prepísania táto informácia nie je známa až za behu.
  5. Funkcia Preťaženie sa uskutoční v rovnakej triede, zatiaľ čo prebehnutie sa uskutoční v triede odvodenej od základnej triedy.
IT