Razlika med preobremenitvijo metode in preglasitvijo

Metoda Preobremenitev

Metoda preobremenitev, znana tudi kot funkcijsko preobremenitev ali časovni polimorfizem, je pojem, da sta v istem obsegu dve ali več metod z istim imenom, vendar različen podpis. Obstaja veliko programskih jezikov, ki podpirajo to funkcijo: Ada, C ++, C #, D in Java.

Primer preobremenitve metode v C #
Kot je prikazano v zgornjem primeru, je metoda „Poligon“ preobremenjena 3-krat z različnim podpisom metode, tj. Vrsta ali število parametrov sta različna.

Prevlada metoda

Preglasitev metode, znana tudi kot prekrivanje funkcij ali polimorfizem izvajanja časa, je funkcija OOP, ki otroškemu razredu omogoča lastno izvedbo metode, določene v nadrejenem razredu. Izvedba v nadrejenem razredu preglasi definicijo metode v osnovnem razredu, pod pogojem, da mora imeti metoda v otroškem razredu isto ime, podpis in vrniti tip.

Primer prevladovanja metode v C #
Tukaj metoda risanja v razredu Source2 preglasi način risanja, definiran v razredu Source1.

Razlika med preobremenitvijo metode in preglasitvijo metode

  1. V Metodah preobremenitvene metode morajo imeti drugačen podpis. Pri metodi morajo prevladujoče metode imeti isti podpis.
  2. Funkcija Preobremenitev je, da se vedenje metode "doda" ali "razširi" več. Prevladovanje funkcije je, da popolnoma "spremenite" ali "na novo določite" vedenje metode.
  3. Metoda s preobremenitvijo se uporablja za doseganje polimorfizma v času kompilacije; metoda prevladovanja se uporablja za doseganje polimorfizma med izvajanjem.
  4. V prevajalni metodi / funkciji prevajalnik ve, kateri objekt je dodeljen tem razredu v času kompilacije, vendar v načinu, ki preglasi to informacijo, ni znan do izvajanja.
  5. Funkcija Preobremenitev poteka v istem razredu, medtem ko preglasitev poteka v razredu, ki izhaja iz osnovnega razreda.
IT