Razlika med preglasitvijo in preobremenitvijo v C

Kazalo:

Razlika med preglasitvijo in preobremenitvijo v C
Razlika med preglasitvijo in preobremenitvijo v C

Video: Razlika med preglasitvijo in preobremenitvijo v C

Video: Razlika med preglasitvijo in preobremenitvijo v C
Video: ВКУСНЕЙШИЙ ПП шоколад на КОКОСОВОМ масле БЕЗ САХАРА! ПРОСТОЙ РЕЦЕПТ! 2024, Julij
Anonim

Ključna razlika – preglasitev proti preobremenitvi v C

Ključna razlika med preglasitvijo in preobremenitvijo v C je, da se povezava klica preobremenjene metode z njeno definicijo zgodi med izvajanjem, medtem ko se povezava klica preobremenjene metode z njeno definicijo zgodi v času prevajanja.

C je splošni programski jezik, ki ga je razvil Microsoft. Glavna prednost C je, da podpira objektno usmerjeno programiranje (OOP). Eden od stebrov OOP je polimorfizem. Objektu omogoča več vedenj. Obstajata dve vrsti polimorfizma, znani kot preglasitev in preobremenitev. Ta članek obravnava razliko med preglasitvijo in preobremenitvijo metode v C.

Kaj je preglasitev v C?

Obstaja še en pomemben koncept v OOP, to je dedovanje. Gre za uporabo atributov in metod že obstoječega razreda. Izboljša možnost ponovne uporabe kode. Že obstoječi razred je osnovni razred, novi razred pa je znan kot izpeljani razred. Pri preglasitvi polimorfizma morata obstajati osnovni razred in izpeljani razred. Vezava klica preglasene metode z definicijo se zgodi med izvajanjem. Primer je naslednji.

Razlika med preglasitvijo in preobremenitvijo v C
Razlika med preglasitvijo in preobremenitvijo v C

Slika 01: Program C s preglasitvijo

Glede na zgornji program je razred Shape osnovni razred in vsebuje metodo prikaza. Razred Pravokotnik in Trikotnik sta izpeljana razreda. Ti izpeljani razredi imajo tudi isti prikaz metode s svojimi implementacijami.

Najprej se ustvari referenčna spremenljivka obj. Kaže na objekt Shape. Torej se bo izvedla metoda prikaza razreda Shape. Nato referenčna spremenljivka kaže na objekt Rectangle. Torej se bo izvedla metoda prikaza razreda Rectangle. Na koncu referenčna spremenljivka kaže na objekt Trikotnik. Torej se bo izvedla metoda prikaza razreda Triangle. Prikazno metodo osnovnega razreda preglasijo prikazne metode izpeljanih razredov.

Metoda za izvajanje se določi med izvajanjem. Razred Shape je napisan s ključno besedo 'virtualno'. Razreda Rectangle in Triangle sta zapisana s ključno besedo 'override'. Če teh ključnih besed ne uporabite, bo rezultat natisnil vsebino metode prikaza razreda Shape za vse.

Kaj je preobremenitev v C?

Pri preobremenitvi ima več metod isto ime, vendar z različnimi parametri. Parametri so lahko različnih vrst. Metode imajo lahko tudi različno število parametrov. Preobremenitev metode se pojavi v istem razredu. Vezava preobremenjenih metod na definicijo se zgodi med prevajanjem. Glejte spodnji program C.

Ključna razlika med preglasitvijo in preobremenitvijo v C
Ključna razlika med preglasitvijo in preobremenitvijo v C

Slika 02: Program C s preobremenitvijo

Glede na zgornji program ima razred A dve metodi z enakim imenom, imenovani vsota. Imajo različne vrste parametrov. V glavnem programu je ustvarjen objekt A. Vsota (2, 3) bo priklicala metodo vsote s celimi števili. Vsota (5.1, 7.94) bo priklicala metodo vsote z dvojnimi vrednostmi. Obe metodi imata isto ime in enako število parametrov. Toda vrste parametrov so različne. Zahtevana metoda se ustrezno pokliče. Do preobremenitve lahko pride tudi, če so imena metod in tipi parametrov enaki, število parametrov pa je različno.

Kakšna je podobnost med preglasitvijo in preobremenitvijo v C?

Tako preglasitev kot preobremenitev v C sta vrsti polimorfizma

Kakšna je razlika med preglasitvijo in preobremenitvijo v C?

Preglasitev proti preobremenitvi v C

Preglasitev v C je zagotoviti posebno izvedbo v metodi izpeljanega razreda za metodo, ki že obstaja v osnovnem razredu. Preobremenitev v C je ustvarjanje več metod z istim imenom z različnimi implementacijami.
Parametri
V preglasitvi C imajo metode enako ime, iste vrste parametrov in enako število parametrov. Pri preobremenitvi C imajo metode enako ime, vendar različno število parametrov ali drugačno vrsto parametrov.
Pojav
V C pride do preglasitve znotraj osnovnega razreda in izpeljanega razreda. V C pride do preobremenitve znotraj istega razreda.
Čas vezave
Povezava klica preglasene metode z njeno definicijo se zgodi med izvajanjem. Povezava klica preobremenjene metode z njeno definicijo se zgodi med prevajanjem.
Sinonimi
Preglasitev se imenuje polimorfizem izvajalnega časa, dinamični polimorfizem ali pozna vezava. Preobremenitev se imenuje polimorfizem časa prevajanja, statični polimorfizem ali zgodnje vezanje.

Povzetek – preglasitev proti preobremenitvi v C

Preglasitev in preobremenitev sta dve vrsti polimorfizma. Razlika med preglasitvijo in preobremenitvijo v C je v tem, da se povezava klica preobremenjene metode z njeno definicijo zgodi med izvajanjem, medtem ko se povezava klica preobremenjene metode z njeno definicijo zgodi v času prevajanja.

Priporočena: