Njia ya upakiaji kupita kiasi na kupitisha ni nini?
Njia ya upakiaji kupita kiasi na kupitisha ni nini?

Video: Njia ya upakiaji kupita kiasi na kupitisha ni nini?

Video: Njia ya upakiaji kupita kiasi na kupitisha ni nini?
Video: FAHAMU KUHUSU WATU AMBAO HAWAWEZI KUAMBUKIZWA UKIMWI 2024, Novemba
Anonim

Inapakia kupita kiasi hutokea wakati mbili au zaidi mbinu katika darasa moja kuwa sawa njia jina lakini vigezo tofauti. Kubatilisha maana yake ni kuwa na wawili mbinu na sawa njia jina na vigezo (yaani, njia Sahihi). Moja ya mbinu iko katika darasa la wazazi na nyingine iko katika darasa la watoto.

Hapa, ni nini kupakia na kuzidisha kwa mfano?

Inapakia kupita kiasi ni kuhusu utendaji sawa kuwa na saini tofauti. Kubatilisha ni kuhusu utendakazi sawa, saini sawa lakini madarasa tofauti yameunganishwa kupitia urithi. Inapakia kupita kiasi ni mfano ya compiler timepolymorphism na kupitisha ni mfano ya kukimbia timepolymorphism.

Baadaye, swali ni, unamaanisha nini kwa kupindua? Njia kupitisha , katika upangaji unaolenga kitu, ni kipengele cha lugha ambacho huruhusu darasa dogo au darasa la watoto kutoa utekelezaji mahususi wa mbinu ambayo tayari imetolewa na mojawapo ya madarasa yake makuu au madarasa ya wazazi.

Vivyo hivyo, watu huuliza, ni njia gani ya upakiaji na njia ya kupitisha katika C ++?

1) Upakiaji wa kazi kupita kiasi hufanyika katika darasa moja tunapotangaza kazi sawa na hoja tofauti katika darasa moja. Upitishaji wa Kazi hufanyika katika darasa la mtoto wakati darasa la mtoto linapita darasa la mzazi kazi . Katika upitishaji wa kazi tunaweza kuwa na moja tu kazi kuu katika darasa la watoto.

Kuna tofauti gani kati ya upakiaji wa kazi na upakiaji wa njia?

Katika Njia za upakiaji kupita kiasi lazima iwe na tofauti Sahihi. Katika njia , kupindua mbinu lazima iwe na saini sawa. FunctionOverloading ni "kuongeza" au "kupanua" zaidi kwa mbinu tabia. Upakiaji wa kazi kupita kiasi hufanyika ndani ya darasa moja wakati Ubatilishaji unafanyika ndani ya darasa linalotokana na darasa la msingi.

Ilipendekeza: