Ključna razlika - preglasitev in preobremenitev v C #
Ključna razlika med razveljavitvijo in preobremenitvijo v C # je, da se vezava klica nadrejene metode na njeno definicijo zgodi med izvajanjem, medtem ko se vezava klica preobremenjene metode na njeno definicijo zgodi v času prevajanja.
C # je programski jezik za splošno uporabo, ki ga je razvil Microsoft. Glavna prednost C # je, da podpira objektno usmerjeno programiranje (OOP). En steber OOP je polimorfizem. Predmetu daje večkratno vedenje. V polimorfizmu obstajata dve vrsti, imenovani preglasitev in preobremenitev. Ta članek obravnava razliko med preglasitvijo metode in preobremenitvijo v jeziku C #.
VSEBINA
1. Pregled in ključna razlika
2. Kaj je preglasitev v C #
3. Kaj je preobremenitev v C #
4. Podobnosti med preglasitvijo in preobremenitvijo v C #
5. Vzporedna primerjava - Preglasitev in preobremenitev v C # v tabelarni obliki
6. Povzetek
Kaj je razveljavitev v C #?
V OOP je še en pomemben koncept dedovanje. Uporabljati mora atribute in metode že obstoječega razreda. Izboljša ponovno uporabo kode. Že obstoječi razred je osnovni razred, novi razred pa je znan kot izpeljani razred. Pri prevladovanju polimorfizma bi moral obstajati osnovni razred in izpeljani razred. Vezava preklicanega klica metode na definicijo se zgodi med izvajanjem. Primer je naslednji.
Slika 01: Program C # s preglasitvijo
V skladu z zgornjim programom je razred Shape osnovni razred in vsebuje način prikaza. Razred Pravokotnik in Trikotnik sta izpeljana razreda. Ti izvedeni razredi imajo tudi enak prikaz metode z lastnimi izvedbami.
Najprej se ustvari referenčna spremenljivka obj. Kaže na predmet Oblika. Torej, izvedla se bo metoda prikaza razreda Shape. Nato referenčna spremenljivka kaže na objekt Pravokotnik. Torej, izvedla se bo metoda prikaza razreda Rectangle. Na koncu referenčna spremenljivka kaže na objekt Trikotnik. Torej, izvedla se bo metoda prikaza razreda Triangle. Metodo prikaza osnovnega razreda preglasijo metode prikaza izpeljanih razredov.
Način izvajanja se določi med izvajanjem. Razred Shape je napisan s ključno besedo 'virtual'. Razredi Pravokotnik in Trikotnik so napisani s ključno besedo 'override'. Če se te ključne besede ne uporabijo, 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 zgodi v istem razredu. Vezava preobremenjenih metod na definicijo se zgodi v času prevajanja. Glejte spodnji program C #.
Slika 02: Program C # s preobremenitvijo
V skladu z zgornjim programom ima razred A dve metodi z istim imenom, imenovano sum. Imajo različne vrste parametrov. V glavnem programu se ustvari objekt A. Vsota (2,3) bo uporabila metodo vsote s celimi števili. Vsota (5.1, 7.94) bo uporabila metodo vsote z dvojnimi vrednostmi. Obe metodi imata isto ime in enako število parametrov. Vrste parametrov pa so različne. Zahtevana metoda se ustrezno pokliče. Preobremenitev se lahko zgodi tudi, če so imena metod in tipi parametrov enaki, vendar je število parametrov različno.
Kakšna je podobnost med razveljavitvijo in preobremenitvijo v C #?
Tako preglasitev kot preobremenitev v jeziku C # sta vrsti polimorfizma
Kakšna je razlika med preglasitvijo in preobremenitvijo v C #?
Diff Article Sredina pred mizo
Preglasitev vs preobremenitev v C # |
|
Preglasitev v C # je zagotavljanje posebne izvedbe v metodi izpeljanega razreda za metodo, ki že obstaja v osnovnem razredu. | Preobremenitev v C # je ustvariti več metod z istim imenom z različnimi izvedbami. |
Parametri | |
V razveljavitvi C # imajo metode isto ime, iste vrste parametrov in enako število parametrov. | V preobremenitvi C # imajo metode isto 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 | |
Vezava preklicanega klica metode na njeno definicijo se zgodi med izvajanjem. | Vezava klica preobremenjene metode na njeno definicijo se zgodi v času prevajanja. |
Sopomenke | |
Preglasitev se imenuje polimorfizem med izvajanjem, dinamični polimorfizem ali pozna vezava. | Preobremenitev se imenuje polimorfizem časa prevajanja, statični polimorfizem ali zgodnja vezava. |
Povzetek - Preglasitev vs preobremenitev v C #
Preglasitev in preobremenitev sta dve vrsti polimorfizma. Razlika med preglasitvijo in preobremenitvijo v C # je v tem, da se vezava klica nadomeščene metode na njeno definicijo zgodi med izvajanjem, medtem ko se vezava klica preobremenjene metode na njeno definicijo zgodi v času prevajanja.