Atšķirība starp konstruktoru un iznīcinātāju

Satura rādītājs:

Atšķirība starp konstruktoru un iznīcinātāju
Atšķirība starp konstruktoru un iznīcinātāju

Video: Atšķirība starp konstruktoru un iznīcinātāju

Video: Atšķirība starp konstruktoru un iznīcinātāju
Video: STARPĪBA STARP ŪDENI UN ALU 2024, Novembris
Anonim

Galvenā atšķirība - konstruktors pret destruktoru

Lielākā daļa programmēšanas valodu atbalsta objektorientētu programmēšanu (OOP). Tā ir paradigma, kas palīdz modelēt programmatūru vai programmu, izmantojot objektus. OOP uzlabo produktivitāti un apkopi. OOP viss tiek uzskatīts par objektu. Objekti tiek izveidoti vai instantiēti, izmantojot klases. Konstruktors un Destruktors ir plaši izplatīti termini objektorientētajā programmēšanā. Šajā rakstā ir apskatīta atšķirība starp konstruktoru un iznīcinātāju. Konstruktors un destruktors ir īpašas locekļa funkcijas klasē. Konstruktoram un destruktoram ir tāds pats nosaukums kā klasei, bet destruktoram ir tildes (~) zīme. Galvenā atšķirība starp konstruktoru un destruktoru ir tāda, ka konstruktors tiek izmantots, lai objektam piešķirtu atmiņu, savukārt destruktors tiek izmantots, lai atbrīvotu objekta atmiņu.

Kas ir konstruktors?

Konstruktors ir īpaša klases dalībnieka funkcija, lai objektam piešķirtu atmiņu. To var izmantot, lai nodrošinātu vērtības datu dalībniekiem. Konstruktors tiek izsaukts, kad objekts tiek izveidots. Tam ir tāds pats nosaukums kā klases nosaukumam. Konstruktors neatgriež nekādu vērtību. Tāpēc tajā nav atgriešanas veida. Konstruktors var pieņemt arī parametrus. Konstruktors ar parametriem ir pazīstams kā parametrizēts konstruktors.

Konstruktora piemērs ir šāds.

publiskās klases taisnstūris{

int garums, platums;

publisks taisnstūris(int p, int q){

garums=p;

platums=q;

}

publisks int aprēķinātArea(){

atgriezties (garumsplatums);

}

}

Saskaņā ar iepriekš minēto koda daļu konstruktoram ir tāds pats nosaukums kā klases nosaukumam. Konstruktors Taisnstūris pieņem divus parametrus. Tie ir p un q. Garumam tiek piešķirta vesela skaitļa vērtība p. Platumam tiek piešķirta vesela skaitļa vērtība q. Laukā calcu alteArea tiek aprēķināts garuma un platuma reizinājums, lai atrastu taisnstūra laukumu. Galvenajā programmā programmētājs var izveidot taisnstūra tipa objektu un nodot argumentus. piem. Taisnstūris taisnstūris1=jauns taisnstūris(2, 3). Pēc tam tiek izsaukts parametrizētais konstruktors, kas piešķir vērtības garumam un platumam.

Atšķirība starp konstruktoru un iznīcinātāju
Atšķirība starp konstruktoru un iznīcinātāju

Attēls 01: Konstruktors un iznīcinātājs

Ja ir konstruktors bez parametriem, to sauc par noklusējuma konstruktoru. Ja programmētājs nedefinē konstruktoru, tiks izsaukts noklusējuma konstruktors. Ja ir klase kā Students un programmētājs izveido Studenta tipa objektu, tiek izsaukts noklusējuma konstruktors. piem. Students s1=jauns Students(); Klasē var būt vairāki konstruktori ar dažādiem parametriem un dažādiem datu tipiem. Attiecīgi var izsaukt atbilstošo konstruktoru. Tāpēc konstruktori var tikt pārslogoti.

Kas ir iznīcinātājs?

Destruktors ir īpaša klases dalībnieka funkcija. To izmanto, lai atdalītu atmiņu konstruktora izveidotajam objektam. Iznīcinātājs tiek izsaukts, kad objekts tiek iznīcināts. Tā veic uzkopšanas krātuvi, kas vairs nav nepieciešama. Tāpat kā konstruktoram, arī iznīcinātājam ir tāds pats nosaukums kā klasei. Tajā ir arī tildes (~) simbols.

Destruktors neatgriež nekādu vērtību. Atšķirībā no konstruktora, destruktors nepieņem nekādus parametrus. Tātad destruktors neatbalsta pārslodzi. Destruktora deklarēšana tiek uzskatīta par labu programmēšanas praksi, jo tā atbrīvo atmiņas vietu un šo vietu var izmantot dažu citu objektu glabāšanai. Destruktora sintakse ir līdzīga ~className() { }. piem. ~Taisnstūris() { }; Klasē var būt tikai viens iznīcinātājs.

Kādas ir līdzības starp konstruktoru un iznīcinātāju?

  • Gan konstruktors, gan destruktors ir saistīti ar objektiem.
  • Gan konstruktors, gan destruktors neatgriež nekādu vērtību.
  • Gan konstruktors, gan destruktors tiek izsaukti automātiski.

Kāda ir atšķirība starp Constructor un Destructor?

Konstruktors pret destruktoru

Konstruktors ir īpašs klases dalībnieks, ko izmanto, lai objektam piešķirtu atmiņu. Destruktors ir īpašs klases loceklis, ko izmanto, lai atbrīvotu objekta atmiņu.
Izsaukšanas metode
Kad objekts ir izveidots, tiek izsaukts konstruktors. Iznīcinātājs tiek izsaukts, kad objekts tiek iznīcināts vai izdzēsts.
Lietošana
Lai objektiem piešķirtu atmiņu, tiek izmantots konstruktors. Destruktors tiek izmantots, lai atbrīvotu objektu atmiņu.
Parametri
Konstruktors pieņem parametrus. Destruktors nepieņem parametrus.
Konstruktoru un iznīcinātāju skaits
Var būt vairāki konstruktori ar atšķirīgu parametru skaitu un dažāda veida parametriem. Klasē var būt viens iznīcinātājs.
Izpildes ātrums
Konstruktoram ir tāds pats nosaukums kā klases nosaukumam. Destruktoram ir tāds pats nosaukums kā klases nosaukumam ar tildes (~) simbolu.
Pārslodze
Konstruktors var būt pārslogots. Iznīcinātāju nevar pārslogot.

Kopsavilkums - konstruktors pret destruktoru

OOP ir izplatīta paradigma programmatūras izstrādē. Tā var vienkāršot sarežģītu projektu. OOP tiek izmantots konstruktors un destruktors. Konstruktoram un destruktoram ir tāds pats nosaukums kā klasei, bet destruktoram ir ~ zīme. Atšķirība starp konstruktoru un iznīcinātāju ir tāda, ka konstruktors tiek izmantots, lai objektam piešķirtu atmiņu, savukārt destruktors tiek izmantots, lai atbrīvotu objekta atmiņu.

Lejupielādēt PDF failu Constructor vs Destructor

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit: Atšķirība starp konstruktoru un iznīcinātāju

Ieteicams: