Dallimi midis Konstruktorit dhe Destruktorit

Përmbajtje:

Dallimi midis Konstruktorit dhe Destruktorit
Dallimi midis Konstruktorit dhe Destruktorit

Video: Dallimi midis Konstruktorit dhe Destruktorit

Video: Dallimi midis Konstruktorit dhe Destruktorit
Video: Cili është dallimi midis xhindëve dhe shejtanëve? - Dr. Imam Ahmed Kalaja 2024, Nëntor
Anonim

Diferenca kryesore – Konstruktor vs Destruktor

Shumica e gjuhëve të programimit mbështesin Programimin e Orientuar në Objekt (OOP). Është paradigma që ndihmon në modelimin e një softueri ose një programi duke përdorur objekte. OOP përmirëson produktivitetin dhe mirëmbajtjen. Në OOP çdo gjë konsiderohet si një objekt. Objektet krijohen ose instantohen duke përdorur klasa. Konstruktor dhe Destruktor janë terma të zakonshëm në Programimin e Orientuar në Objekt. Ky artikull diskuton ndryshimin midis një konstruktori dhe një destruktori. Një konstruktor dhe një destruktor janë funksione të veçanta të anëtarëve në një klasë. Një konstruktor dhe destruktor kanë të njëjtin emër si klasa, por destruktori ka një shenjë tilde (~). Dallimi kryesor midis një konstruktori dhe një destruktori është se një konstruktor përdoret për të ndarë memorien tek një objekt ndërsa një destruktor përdoret për memorien shpërndarëse të një objekti.

Çfarë është një Konstruktor?

Një konstruktor është një funksion anëtar i veçantë në klasë për të ndarë memorie një objekti. Mund të përdoret për të dhënë vlera për anëtarët e të dhënave. Konstruktori thirret kur krijohet objekti. Ka të njëjtin emër me emrin e klasës. Një konstruktor nuk kthen asnjë vlerë. Prandaj, ai nuk përmban një lloj kthimi. Një konstruktor mund të pranojë gjithashtu parametra. Një konstruktor me parametra njihet si një konstruktor i parametrizuar.

Një shembull i një konstruktori është si më poshtë.

Klasa publike Rectangle{

int gjatësi, gjerësi;

drejtkëndësh publik(int p, int q){

gjatësia=p;

gjerësia=q;

}

llogaritja publike e zonës(){

kthim (gjatësiagjerësia);

}

}

Sipas pjesës së mësipërme të kodit, konstruktori ka të njëjtin emër me emrin e klasës. Konstruktori Rectangle pranon dy parametra. Ato janë p dhe q. Vlera e plotë p i caktohet gjatësisë. Vlera e plotë q i caktohet gjerësisë. Në sipërfaqen llogaritëse, shumëzimi i gjatësisë dhe gjerësisë llogaritet për të gjetur sipërfaqen e drejtkëndëshit. Në programin kryesor, programuesi mund të krijojë një objekt të tipit Rectangle dhe të kalojë argumentet. p.sh. Rectangle rect1=rectangle (2, 3). Pastaj, thirret konstruktori i parametrizuar dhe i cakton vlerat gjatësisë dhe gjerësisë.

Dallimi midis Konstruktorit dhe Destruktorit
Dallimi midis Konstruktorit dhe Destruktorit

Figura 01: Konstruktori dhe shkatërruesi

Kur ka një konstruktor pa asnjë parametër, ai quhet konstruktor i paracaktuar. Nëse programuesi nuk përcakton një konstruktor, do të thirret konstruktori i paracaktuar. Nëse ekziston një klasë si Student dhe kur programuesi krijon një objekt të tipit Student, thirret konstruktori i paracaktuar. p.sh. Studenti s1=Studenti i ri(); Mund të ketë konstruktorë të shumtë me parametra të ndryshëm dhe lloje të ndryshme të dhënash në një klasë. Konstruktori i duhur mund të thirret në përputhje me rrethanat. Prandaj, konstruktorët mund të mbingarkohen.

Çfarë është një shkatërrues?

Një shkatërrues është një funksion i veçantë i anëtarit në klasë. Përdoret për të hequr memorien për një objekt të krijuar nga konstruktori. Shkatërruesi thirret kur objekti shkatërrohet. Ai kryen ruajtjen e pastrimit që nuk kërkohet më. Ashtu si konstruktori, destruktori ka të njëjtin emër me klasën. Ai gjithashtu përmban një simbol tilde (~).

Një destruktor nuk kthen asnjë vlerë. Ndryshe nga një konstruktor, destruktori nuk pranon asnjë parametër. Pra, destruktori nuk mbështet mbingarkimin. Deklarimi i një destruktori konsiderohet si një praktikë e mirë programimi sepse liron hapësirën e memories dhe ajo hapësirë mund të përdoret për ruajtjen e disa objekteve të tjera. Sintaksa e destruktorit është e ngjashme me ~className() {}. p.sh. ~Drejtkëndësh() {}; Mund të ketë vetëm një shkatërrues të vetëm në një klasë.

Cilat janë ngjashmëritë midis konstruktorit dhe shkatërruesit?

  • Edhe konstruktori dhe destruktori lidhen me objekte.
  • Edhe konstruktori dhe destruktori nuk kthejnë asnjë vlerë.
  • Edhe konstruktori dhe destruktori thirren automatikisht.

Cili është ndryshimi midis Konstruktorit dhe Destruktorit?

Konstruktor vs Destruktor

Një konstruktor është një anëtar i veçantë në klasë që përdoret për të caktuar memorie në një objekt. Një destruktor është një anëtar i veçantë i klasës që përdoret për të shpërndarë kujtesën e një objekti.
Metoda e thirrjes
Një konstruktor thirret kur krijohet objekti. Një shkatërrues quhet kur objekti shkatërrohet ose fshihet.
Përdorimi
Një konstruktor përdoret për të ndarë memorien për objektet. Një destruktor përdoret për të shpërndarë memorien për objektet.
Parametrat
Një konstruktor pranon parametrat. Një destruktor nuk pranon parametra.
Numri i konstruktorëve dhe shkatërruesve
Mund të ketë shumë konstruktorë me një numër të ndryshëm parametrash dhe lloje të ndryshme parametrash. Mund të ketë një destruktor të vetëm në klasë.
Shpejtësia e Ekzekutimit
Një konstruktor ka të njëjtin emër me emrin e klasës. Një destruktor ka të njëjtin emër si emri i klasës me një simbol tilde (~).
Mbingarkesa
Një konstruktor mund të mbingarkohet. Një shkatërrues nuk mund të mbingarkohet.

Përmbledhje – Konstruktor vs Destructor

OOP është një paradigmë e zakonshme në zhvillimin e softuerit. Mund të thjeshtojë një projekt kompleks. Një konstruktor dhe një destruktor përdoren në OOP. Një konstruktor dhe destruktor kanë të njëjtin emër si klasa, por destruktori ka një shenjë ~. Dallimi midis një konstruktori dhe një destruktori është se një konstruktor përdoret për të alokuar memorie në një objekt ndërsa një destruktor përdoret për të shpërndarë memorien e një objekti.

Shkarkoni PDF-në e Constructor vs Destructor

Mund ta shkarkoni versionin PDF të këtij artikulli dhe ta përdorni për qëllime jashtë linje sipas shënimit të citimit. Ju lutemi shkarkoni versionin PDF këtu: Diferenca midis Konstruktorit dhe Destruktorit

Recommended: