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.
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