Diferența dintre constructor și destructor

Cuprins:

Diferența dintre constructor și destructor
Diferența dintre constructor și destructor

Video: Diferența dintre constructor și destructor

Video: Diferența dintre constructor și destructor
Video: Difference between Constructor and Destructor in C++ in hindi | Constructor Vs Destructor 2024, Decembrie
Anonim

Diferența cheie – Constructor vs Destructor

Majoritatea limbajelor de programare acceptă programarea orientată pe obiecte (OOP). Este paradigma care ajută la modelarea unui software sau a unui program folosind obiecte. OOP îmbunătățește productivitatea și mentenabilitatea. În OOP totul este considerat ca un obiect. Obiectele sunt create sau instanțiate folosind clase. Constructor și Destructor sunt termeni obișnuiți în programarea orientată pe obiecte. Acest articol discută diferența dintre un constructor și un destructor. Un constructor și un destructor sunt funcții membre speciale într-o clasă. Un constructor și un destructor au același nume ca și clasa, dar destructorul are un semn tilde (~). Diferența cheie dintre un constructor și un destructor este că un constructor este folosit pentru a aloca memorie unui obiect, în timp ce un destructor este folosit pentru a dezaloca memoria unui obiect.

Ce este un constructor?

Un constructor este o funcție specială membru în clasă pentru a aloca memorie unui obiect. Poate fi folosit pentru a furniza valori pentru membrii datelor. Constructorul este invocat atunci când obiectul este creat. Are același nume ca și numele clasei. Un constructor nu returnează nicio valoare. Prin urmare, nu conține un tip de returnare. Un constructor poate accepta, de asemenea, parametri. Un constructor cu parametri este cunoscut ca un constructor parametrizat.

Un exemplu de constructor este următorul.

dreptunghi de curs public{

int lungime, lățime;

dreptunghi public(int p, int q){

lungime=p;

lățime=q;

}

public int calculateArea(){

retur (lungimelățime);

}

}

Conform codului de mai sus, constructorul are același nume ca și numele clasei. Constructorul Rectangle acceptă doi parametri. Ele sunt p și q. Valoarea întreagă p este atribuită lungimii. Valoarea întreagă q este atribuită lățimii. În calcululteArea, înmulțirea lungimii și lățimii este calculată pentru a găsi aria dreptunghiului. În programul principal, programatorul poate crea un obiect de tip Rectangle și poate transmite argumentele. de exemplu. Dreptunghi rect1=nou Dreptunghi (2, 3). Apoi, constructorul parametrizat este apelat și atribuie valorile lungimii și lățimii.

Diferența dintre constructor și destructor
Diferența dintre constructor și destructor

Figura 01: Constructor și Destructor

Când există un constructor fără parametri, acesta se numește constructor implicit. Dacă programatorul nu definește un constructor, constructorul implicit va fi invocat. Dacă există o clasă ca Student și când programatorul creează un obiect de tip Student, constructorul implicit este apelat. de exemplu. Student s1=student nou(); Într-o clasă pot exista mai mulți constructori cu parametri diferiți și tipuri de date diferite. Constructorul potrivit poate fi apelat în consecință. Prin urmare, constructorii pot fi supraîncărcați.

Ce este un Destructor?

Un destructor este o funcție specială de membru în clasă. Este folosit pentru de-alocarea memoriei pentru un obiect creat de constructor. Destructorul este invocat atunci când obiectul este distrus. Realizează stocarea de curățare care nu mai este necesară. Ca și constructorul, destructorul are același nume ca și clasa. Conține și un simbol tilde (~).

Un destructor nu returnează nicio valoare. Spre deosebire de un constructor, destructorul nu acceptă niciun parametru. Deci, destructorul nu acceptă supraîncărcarea. Declararea unui destructor este considerată o practică bună de programare, deoarece eliberează spațiul de memorie și acel spațiu poate fi folosit pentru stocarea altor obiecte. Sintaxa destructorului este similară cu ~className() { }. de exemplu. ~Dreptunghi() { }; Nu poate exista decât un singur distrugător într-o clasă.

Care sunt asemănările dintre constructor și destructor?

  • Atât constructorul, cât și destructorul sunt asociate cu obiecte.
  • Atât constructorul, cât și destructorul nu returnează nicio valoare.
  • Atât constructorul, cât și destructorul sunt apelați automat.

Care este diferența dintre constructor și destructor?

Constructor vs Destructor

Un constructor este un membru special al clasei care este folosit pentru a aloca memorie unui obiect. Un destructor este un membru special al clasei care este folosit pentru a dezaloca memoria unui obiect.
Metoda de invocare
Un constructor este invocat atunci când obiectul este creat. Un destructor este apelat atunci când obiectul este distrus sau șters.
Utilizare
Un constructor este folosit pentru a aloca memoria pentru obiecte. Un destructor este folosit pentru a dealoca memorie pentru obiecte.
parametri
Un constructor acceptă parametri. Un destructor nu acceptă parametri.
Numărul de constructori și destructori
Pot exista mai mulți constructori cu un număr diferit de parametri și diferite tipuri de parametri. În clasă poate exista un singur destructor.
Viteza de execuție
Un constructor are același nume ca și numele clasei. Un destructor are același nume ca și numele clasei cu un simbol tilde (~).
Supraîncărcare
Un constructor poate fi supraîncărcat. Un destructor nu poate fi supraîncărcat.

Rezumat – Constructor vs Destructor

OOP este o paradigmă comună în dezvoltarea de software. Poate simplifica un proiect complex. Un constructor și un destructor sunt utilizați în OOP. Un constructor și un destructor au același nume ca și clasa, dar destructorul are semnul ~. Diferența dintre un constructor și un destructor este că un constructor este folosit pentru a aloca memorie unui obiect, în timp ce un destructor este folosit pentru a dezaloca memoria unui obiect.

Descărcați PDF-ul pentru Constructor vs Destructor

Puteți descărca versiunea PDF a acestui articol și să o utilizați în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre constructor și destructor

Recomandat: