Dallimi midis mbivendosjes dhe mbingarkesës në C

Përmbajtje:

Dallimi midis mbivendosjes dhe mbingarkesës në C
Dallimi midis mbivendosjes dhe mbingarkesës në C

Video: Dallimi midis mbivendosjes dhe mbingarkesës në C

Video: Dallimi midis mbivendosjes dhe mbingarkesës në C
Video: Bëhuni pronar i biznesit të minierave! - Idle Mining Empire GamePlay 🎮📱 2024, Korrik
Anonim

Diferenca kryesore – Mbështetja kundrejt mbingarkesës në C

Dallimi kryesor midis mbivendosjes dhe mbingarkesës në C është se lidhja e thirrjes së metodës së mbingarkuar me përkufizimin e saj ndodh në kohën e ekzekutimit ndërsa lidhja e thirrjes së metodës së mbingarkuar me përkufizimin e saj ndodh në kohën e përpilimit.

C është një gjuhë programimi për qëllime të përgjithshme e zhvilluar nga Microsoft. Avantazhi kryesor i C është se ai mbështet Programimin e Orientuar në Objekt (OOP). Një shtyllë e OOP është Polimorfizmi. Ai i jep një objekti që të ketë sjellje të shumta. Ekzistojnë dy lloje në polimorfizëm të njohur si mbizotërues dhe mbingarkues. Ky artikull diskuton ndryshimin midis tejkalimit të metodës dhe mbingarkimit në C.

Çfarë është mbizotëruese në C?

Ekziston një koncept tjetër i rëndësishëm në OOP është trashëgimia. Është për të përdorur atributet dhe metodat e klasës tashmë ekzistuese. Ai përmirëson ripërdorimin e kodit. Klasa tashmë ekzistuese është klasa bazë, dhe klasa e re njihet si klasa e derivuar. Në tejkalimin e polimorfizmit, duhet të ketë një klasë bazë dhe një klasë të prejardhur. Lidhja e thirrjes së metodës së tejkaluar me përkufizimin ndodh në kohën e ekzekutimit. Një shembull është si më poshtë.

Dallimi midis tejkalimit dhe mbingarkesës në C
Dallimi midis tejkalimit dhe mbingarkesës në C

Figura 01: Programi C me mbivendosje

Sipas programit të mësipërm, klasa Shape është klasa bazë dhe përmban metodën e shfaqjes. Klasa Rectangle dhe Triangle janë klasa të prejardhura. Këto klasa të prejardhura kanë gjithashtu të njëjtën metodë të shfaqjes me implementimet e tyre.

Së pari, krijohet ndryshorja e referencës obj. Ai tregon për objektin Shape. Pra, metoda e shfaqjes së klasës Shape do të ekzekutohet. Pastaj, ndryshorja referuese tregon në objektin Rectangle. Pra, metoda e shfaqjes së klasës Rectangle do të ekzekutohet. Së fundi, ndryshorja e referencës tregon objektin Triangle. Pra, metoda e shfaqjes së klasës Triangle do të ekzekutohet. Metoda e shfaqjes së klasës bazë anashkalohet nga metodat e shfaqjes së klasave të derivuara.

Metoda për të ekzekutuar vendoset në kohën e ekzekutimit. Klasa Shape është shkruar me fjalën kyçe "virtuale". Klasat Rectangle dhe Triangle shkruhen me fjalën kyçe 'override'. Nëse këto fjalë kyçe nuk përdoren, dalja do të printojë përmbajtjen e metodës së shfaqjes së klasës Shape për të gjithë.

Çfarë është Mbingarkimi në C?

Në mbingarkimin, shumë metoda kanë të njëjtin emër, por me parametra të ndryshëm. Parametrat mund të jenë të llojeve të ndryshme. Metodat mund të kenë gjithashtu një numër të ndryshëm parametrash. Mbingarkimi i metodës ndodh në të njëjtën klasë. Lidhja e metodave të mbingarkuara me përkufizimin ndodh në kohën e përpilimit. Referojuni programit C më poshtë.

Dallimi kryesor midis mbivendosjes dhe mbingarkesës në C
Dallimi kryesor midis mbivendosjes dhe mbingarkesës në C

Figura 02: Programi C me mbingarkesë

Sipas programit të mësipërm, klasa A ka dy metoda me të njëjtin emër të quajtur shuma. Ata kanë lloje të ndryshme parametrash. Në programin kryesor krijohet një objekt i A. Shuma (2, 3) do të thërrasë metodën e shumës me numra të plotë. Shuma (5.1, 7.94) do të kërkojë metodën e shumës me vlera të dyfishta. Të dyja metodat kanë të njëjtin emër dhe të njëjtin numër parametrash. Por llojet e parametrave janë të ndryshëm. Metoda e kërkuar quhet në përputhje me rrethanat. Mbingarkimi mund të ndodhë gjithashtu nëse emrat e metodave dhe llojet e parametrave janë të njëjtë, por numri i parametrave është i ndryshëm.

Cila është ngjashmëria midis tejkalimit dhe mbingarkimit në C?

Edhe mbingarkesa dhe mbingarkesa në C janë lloje të polimorfizmit

Cili është ndryshimi midis tejkalimit dhe mbingarkimit në C?

Overriding vs Mbingarkesa në C

Overriding në C është të sigurojë një zbatim specifik në një metodë të klasës së derivuar për një metodë tashmë ekzistuese në klasën bazë. Mbingarkesa në C është krijimi i metodave të shumta me të njëjtin emër me implementime të ndryshme.
Parametrat
Në C Overriding, metodat kanë të njëjtin emër, të njëjtat lloje parametrash dhe të njëjtin numër parametrash. Në mbingarkimin C, metodat kanë të njëjtin emër, por një numër të ndryshëm parametrash ose një lloj tjetër parametrash.
Ndodhi
Në C, mbivendosja ndodh brenda klasës bazë dhe klasës së prejardhur. Në C, mbingarkesa ndodh brenda së njëjtës klasë.
Koha e lidhjes
Lidhja e thirrjes së metodës së anashkaluar me përkufizimin e saj ndodh në kohën e ekzekutimit. Lidhja e thirrjes së metodës së mbingarkuar me përkufizimin e saj ndodh në kohën e përpilimit.
Sinonime
Overriding quhet si polimorfizëm i kohës së ekzekutimit, polimorfizëm dinamik ose lidhje e vonë. Mbingarkesa quhet polimorfizëm i kohës së përpilimit, polimorfizëm statik ose lidhje e hershme.

Përmbledhje – Mbështetja kundrejt mbingarkesës në C

Overriding dhe Mbingarkesa janë dy lloje të polimorfizmit. Dallimi midis mbivendosjes dhe mbingarkesës në C është se lidhja e thirrjes së metodës së mbingarkuar me përkufizimin e saj ndodh në kohën e ekzekutimit ndërsa lidhja e thirrjes së metodës së mbingarkuar me përkufizimin e saj ndodh në kohën e përpilimit.

Recommended: