Galvenā atšķirība - primārā vs pārslodze
Galvenā atšķirība starp ignorēšanu un pārslodzi C # ir tāda, ka ignorētās metodes izsaukuma saistīšana ar tās definīciju notiek izpildlaikā, savukārt pārslogotās metodes izsaukuma saistīšana ar tās definīciju notiek apkopošanas laikā.
C # ir Microsoft izstrādāta vispārējas nozīmes programmēšanas valoda. Galvenā C # priekšrocība ir tā, ka tā atbalsta uz objektu orientētu programmēšanu (OOP). Viens OOP pīlārs ir polimorfisms. Tas dod objektam vairāku uzvedību. Polimorfismā ir divi veidi, kas pazīstami kā primāri un pārslogoti. Šajā rakstā ir aplūkota atšķirība starp metodes ignorēšanu un pārslodzi C #.
SATURS
1. Pārskats un galvenās atšķirības
2. Kas ir svarīgāks par C #
3. Kas ir pārslodze C #
4. Pārsvara un pārslodzes līdzības starp C #
5. Blakus salīdzinājums - Pārsniegšana vs Pārslodze C # tabulas veidā
. Kopsavilkums
Kas ir svarīgāks par C #?
OOP ir vēl viens svarīgs jēdziens - mantošana. Ir jāizmanto jau esošās klases atribūti un metodes. Tas uzlabo koda atkārtotu izmantošanu. Jau esošā klase ir bāzes klase, un jaunā klase ir pazīstama kā atvasinātā klase. Pārsvarā polimorfismam ir jābūt pamatklasei un atvasinātai klasei. Pārņemtās metodes izsaukuma saistīšana ar definīciju notiek izpildlaikā. Piemērs ir šāds.
01. attēls: C # programma ar ignorēšanu
Saskaņā ar iepriekš minēto programmu klase Shape ir bāzes klase, un tajā ir attēlojuma metode. Klases taisnstūris un trīsstūris ir atvasinātas klases. Šīm atvasinātajām klasēm ir arī viena un tā pati metode ar savām realizācijām.
Pirmkārt, tiek izveidots atsauces mainīgais obj. Tas norāda uz objektu Shape. Tātad tiks izpildīta klases formas attēlošanas metode. Pēc tam atsauces mainīgais norāda uz objektu Taisnstūris. Tātad tiks izpildīta Taisnstūra klases attēlošanas metode. Visbeidzot, atsauces mainīgais norāda uz objektu Triangle. Tātad tiks izpildīta trīsstūra klases attēlošanas metode. Bāzes klases attēlošanas metode tiek ignorēta ar atvasināto klašu attēlojuma metodēm.
Metode palaist tiek izlemta izpildlaikā. Shape klase ir rakstīta ar 'virtuālo' atslēgvārdu. Taisnstūra un trīsstūra klases tiek rakstītas ar atslēgvārdu “ignorēt”. Ja šie atslēgvārdi netiek izmantoti, izeja visiem izdrukās formas Shape attēlojuma metodes saturu.
Kas ir pārslodze C #?
Pārslodzes laikā vairākām metodēm ir viens nosaukums, bet ar dažādiem parametriem. Parametri var būt dažāda veida. Metodēm var būt arī atšķirīgs parametru skaits. Metodes pārslodze notiek tajā pašā klasē. Pārslogotu metožu saistīšana ar definīciju notiek apkopošanas laikā. Skatiet zemāk esošo C # programmu.
02. attēls: C # programma ar pārslodzi
Saskaņā ar iepriekš minēto programmu A klasei ir divas metodes ar tādu pašu nosaukumu, ko sauc par summu. Viņiem ir dažāda veida parametri. Galvenajā programmā tiek izveidots A objekts. Summa (2,3) izsauks summas metodi ar veseliem skaitļiem. Summa (5.1, 7.94) izmantos summas metodi ar dubultām vērtībām. Abām metodēm ir vienāds nosaukums un vienāds parametru skaits. Bet parametru veidi ir atšķirīgi. Nepieciešamā metode tiek attiecīgi izsaukta. Pārslodze var notikt arī tad, ja metožu nosaukumi un parametru veidi ir vienādi, bet parametru skaits ir atšķirīgs.
Kāda ir līdzība starp ignorēšanu un pārslodzi C #?
Gan primārā, gan pārslodze C # ir polimorfisma veidi
Kāda ir atšķirība starp ignorēšanu un pārslodzi C #?
Atšķirīgs raksts vidū pirms tabulas
Pārvarēšana pret pārslodzi C # |
|
Pārvarēšana C # nozīmē nodrošināt īpašu ieviešanu atvasinātās klases metodē metodei, kas jau pastāv bāzes klasē. | Pārslogojot C #, ir jāizveido vairākas metodes ar tādu pašu nosaukumu ar dažādām ieviešanām. |
Parametri | |
C # Overriding metodēm ir tāds pats nosaukums, vienādi parametru veidi un vienāds parametru skaits. | C # pārslodzes gadījumā metodēm ir tāds pats nosaukums, bet atšķirīgs parametru skaits vai cita veida parametri. |
Notikums | |
C # gadījumā ignorēšana notiek bāzes klasē un atvasinātajā klasē. | C # gadījumā pārslodze notiek tajā pašā klasē. |
Saistīšanas laiks | |
Pārņemtās metodes izsaukuma saistīšana ar tās definīciju notiek izpildlaikā. | Pārslogotās metodes izsaukuma saistīšana ar tās definīciju notiek sastādīšanas laikā. |
Sinonīmi | |
Pārvarēšanu sauc par izpildlaika polimorfismu, dinamisku polimorfismu vai novēlotu saistīšanos. | Pārslodzi sauc par kompilēšanas laika polimorfismu, statisko polimorfismu vai agrīnu saistīšanos. |
Kopsavilkums - Pārvarēšana pret pārslodzi C #
Pārvarēšana un pārslodze ir divu veidu polimorfisms. Atšķirība starp ignorēšanu un pārslodzi C # ir tāda, ka ignorētās metodes izsaukuma saistīšana ar tās definīciju notiek izpildlaikā, savukārt pārslogotās metodes izsaukuma saistīšana ar tās definīciju notiek kompilēšanas laikā.