Atšķirība starp ignorēšanu un pārslodzi C

Satura rādītājs:

Atšķirība starp ignorēšanu un pārslodzi C
Atšķirība starp ignorēšanu un pārslodzi C

Video: Atšķirība starp ignorēšanu un pārslodzi C

Video: Atšķirība starp ignorēšanu un pārslodzi C
Video: НОВИНКА СЕЗОНА -УЗОР КУЧИНЕЛЛИ ДЛЯ ЖИЛЕТА.ТРЕНДЫ 2022/23.МАСТЕР-КЛАСС ПОПЕТЕЛЬНО. 2024, Jūlijs
Anonim

Galvenā atšķirība - ignorēšana un pārslodze C

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ārslogotas metodes izsaukuma saistīšana tās definīcijai notiek kompilēšanas laikā.

C ir vispārējas nozīmes programmēšanas valoda, ko izstrādājusi Microsoft. Galvenā C priekšrocība ir tā, ka tā atbalsta objektorientēto programmēšanu (OOP). Viens OOP pīlārs ir polimorfisms. Tas dod objektam vairākas uzvedības. Ir divi polimorfisma veidi, kas pazīstami kā ignorēšana un pārslodze. Šajā rakstā ir apskatīta atšķirība starp metodes ignorēšanu un pārslodzi C.

Kas ir ignorēšana C?

Ir vēl viens svarīgs jēdziens OOP ir mantošana. Tas ir izmantot jau esošās klases atribūtus 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. Lai ignorētu polimorfismu, ir jābūt pamata klasei un atvasinātajai klasei. Ignorētās metodes izsaukuma saistīšana ar definīciju notiek izpildlaikā. Piemērs ir šāds.

Atšķirība starp ignorēšanu un pārslodzi C
Atšķirība starp ignorēšanu un pārslodzi C

Attēls 01: C programma ar ignorēšanu

Saskaņā ar iepriekš minēto programmu klase Shape ir bāzes klase, un tajā ir ietverta displeja metode. Klase Taisnstūris un Trīsstūris ir atvasinātas klases. Šīm atvasinātajām klasēm ir arī tāds pats metožu displejs ar savām implementācijām.

Vispirms tiek izveidots atsauces mainīgais obj. Tas norāda uz Shape objektu. Tātad tiks izpildīta Shape klases displeja metode. Pēc tam atsauces mainīgais norāda uz objektu Taisnstūris. Tātad tiks izpildīta Taisnstūra klases displeja metode. Visbeidzot, atsauces mainīgais norāda uz objektu Trijstūris. Tātad tiks izpildīta Triangle klases displeja metode. Pamatklases attēlošanas metodi ignorē atvasināto klašu displeja metodes.

Palaižamā metode tiek noteikta izpildlaikā. Shape klase ir rakstīta ar "virtuālo" atslēgvārdu. Klases Taisnstūris un Trijstūris ir rakstītas ar atslēgvārdu “aignorēt”. Ja šie atslēgvārdi netiek izmantoti, izvade izdrukās Shape klases attēlošanas metodes saturu visiem.

Kas ir pārslodze C?

Pārslodzes gadījumā vairākām metodēm ir vienāds nosaukums, bet ar atšķirīgiem 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 kompilēšanas laikā. Skatiet tālāk norādīto C programmu.

Galvenā atšķirība starp ignorēšanu un pārslodzi C
Galvenā atšķirība starp ignorēšanu un pārslodzi C

Attēls 02: 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) izsauks 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. Attiecīgi tiek izsaukta nepieciešamā metode. Pārslodze var notikt arī tad, ja metožu nosaukumi un parametru veidi ir vienādi, bet parametru skaits atšķiras.

Kāda ir līdzība starp ignorēšanu un pārslodzi C?

Gan ignorēšana, gan pārslodze C ir polimorfisma veidi

Kāda ir atšķirība starp ignorēšanu un pārslodzi C?

Overriding vs Overloading C

Overriding C ir nodrošināt īpašu implementāciju atvasinātās klases metodē metodei, kas jau pastāv bāzes klasē. Pārslodze C nozīmē izveidot vairākas metodes ar vienu un to pašu nosaukumu ar dažādām implementācijām.
Parametri
Izmantojot C ignorēšanu, metodēm ir vienāds nosaukums, tie paši parametru veidi un vienāds parametru skaits. C pārslodzēšanā metodēm ir vienāds nosaukums, bet atšķirīgs parametru skaits vai cita veida parametri.
Notikums
C versijā ignorēšana notiek bāzes klasē un atvasinātajā klasē. C valodā pārslodze notiek tajā pašā klasē.
Iesiešanas laiks
Ignorētās metodes izsaukuma saistīšana ar tās definīciju notiek izpildlaikā. Pārslodzes metodes izsaukuma saistīšana ar tās definīciju notiek kompilēšanas laikā.
Sinonīmi
Ievērošana tiek saukta par izpildlaika polimorfismu, dinamisku polimorfismu vai vēlu saistīšanu. Pārslodze tiek saukta par kompilēšanas laika polimorfismu, statisko polimorfismu vai agrīnu saistīšanu.

Kopsavilkums - ignorēšana pret pārslodzi C

Overriding un Overloading 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ā.

Ieteicams: