Verskil tussen konstruktor en vernietiger

INHOUDSOPGAWE:

Verskil tussen konstruktor en vernietiger
Verskil tussen konstruktor en vernietiger

Video: Verskil tussen konstruktor en vernietiger

Video: Verskil tussen konstruktor en vernietiger
Video: Difference between Constructor and Destructor in C++ in hindi | Constructor Vs Destructor 2024, November
Anonim

Sleutelverskil – Konstrukteur vs Destruktor

Die meeste programmeertale ondersteun objekgeoriënteerde programmering (OOP). Dit is die paradigma wat help om 'n sagteware of 'n program met behulp van voorwerpe te modelleer. OOP verbeter produktiwiteit en onderhoubaarheid. In OOP word alles as 'n voorwerp beskou. Die voorwerpe word geskep of instansieer met behulp van klasse. Constructor en Destructor is algemene terme in objekgeoriënteerde programmering. Hierdie artikel bespreek die verskil tussen 'n konstruktor en 'n vernietiger. 'n Konstruktor en 'n vernietiger is spesiale lidfunksie in 'n klas. 'n Konstruktor en vernietiger het dieselfde naam as die klas, maar die vernietiger het 'n tilde (~) teken. Die sleutelverskil tussen 'n konstruktor en destruktor is dat 'n konstruktor gebruik word om geheue aan 'n voorwerp toe te wys, terwyl 'n vernietiger gebruik word vir die deallokasie geheue van 'n voorwerp.

Wat is 'n Konstrukteur?

'n Konstruktor is 'n spesiale lidfunksie in die klas om geheue aan 'n voorwerp toe te ken. Dit kan gebruik word om waardes vir die datalede te verskaf. Die konstruktor word aangeroep wanneer die voorwerp geskep word. Dit het dieselfde naam as die klasnaam. 'n Konstruktor gee geen waarde terug nie. Daarom bevat dit nie 'n terugkeertipe nie. 'n Konstruktor kan ook parameters aanvaar. 'n Konstruktor met parameters staan bekend as 'n geparameteriseerde konstruktor.

'n Voorbeeld van 'n konstruktor is soos volg.

publieke klas Reghoek{

int lengte, breedte;

publieke Reghoek(int p, int q){

length=p;

width=q;

}

public int calculateArea(){

return (lengtebreedte);

}

}

Volgens bogenoemde stukkie kode het die konstruktor dieselfde naam as die klasnaam. Die konstruktor Reghoek aanvaar twee parameters. Hulle is p en q. Die heelgetalwaarde p word aan die lengte toegeken. Die heelgetalwaarde q word aan die breedte toegeken. In die calcu alteArea word die vermenigvuldiging van lengte en breedte bereken om die oppervlakte van die reghoek te vind. In die hoofprogram kan die programmeerder 'n voorwerp van tipe Reghoek skep en die argumente deurgee. bv. Reghoek reghoek1=nuwe Reghoek(2, 3). Dan word die geparameteriseerde konstruktor geroep en ken die waardes aan die lengte en breedte toe.

Verskil tussen Constructor en Destructor
Verskil tussen Constructor en Destructor

Figuur 01: Konstrukteur en vernietiger

Wanneer daar 'n konstruktor sonder enige parameters is, word dit 'n verstekkonstruktor genoem. As die programmeerder nie 'n konstruktor definieer nie, sal die verstekkonstruktor aangeroep word. As daar 'n klas as Student is en wanneer die programmeerder 'n objek van tipe Student skep, word die verstekkonstruktor genoem. bv. Student s1=nuwe Student(); Daar kan veelvuldige konstruktors met verskillende parameters en verskillende datatipes in 'n klas wees. Die toepaslike konstruktor kan dienooreenkomstig genoem word. Daarom kan konstrukteurs oorlaai word.

Wat is 'n vernietiger?

'n Vernietiger is 'n spesiale lidfunksie in die klas. Dit word gebruik om geheue te de-allokeer vir 'n voorwerp wat deur die konstruktor geskep is. Die vernietiger word opgeroep wanneer die voorwerp vernietig word. Dit voer die opruimberging uit wat nie meer nodig is nie. Soos die konstruktor, het die vernietiger dieselfde naam as die klas. Dit bevat ook 'n tilde (~) simbool.

'n Vernietiger gee geen waarde terug nie. Anders as 'n konstruktor, aanvaar die vernietiger geen parameters nie. Dus, destructor ondersteun nie oorlaai nie. Om 'n vernietiger te verklaar, word beskou as 'n goeie programmeringspraktyk omdat dit die geheuespasie vrystel en daardie spasie gebruik kan word om 'n paar ander voorwerpe te stoor. Die sintaksis van vernietiger is soortgelyk aan ~klasNaam() { }. bv. ~Reghoek() { }; Daar kan net 'n enkele vernietiger in 'n klas wees.

Wat is die ooreenkomste tussen konstruktor en vernietiger?

  • Beide konstruktor en vernietiger word met voorwerpe geassosieer.
  • Beide konstruktor en vernietiger gee geen waarde terug nie.
  • Beide konstruktor en vernietiger word outomaties geroep.

Wat is die verskil tussen konstruktor en vernietiger?

Constructor vs Destructor

'n Konstruktor is 'n spesiale lid in die klas wat gebruik word om geheue aan 'n voorwerp toe te wys. 'n Destruktor is 'n spesiale lid van die klas wat gebruik word om geheue van 'n voorwerp toe te ken.
Metode van aanroep
'n Konstruktor word aangeroep wanneer die voorwerp geskep word. 'n Destruktor word geroep wanneer die voorwerp vernietig of uitgevee word.
Gebruik
'n Konstruktor word gebruik om geheue vir die voorwerpe toe te ken. 'n Destruktor word gebruik om geheue vir die voorwerpe toe te ken.
Parameters
'n Konstruktor aanvaar parameters. 'n Destruktor aanvaar nie parameters nie.
Aantal konstrukteurs en vernietigers
Daar kan veelvuldige konstrukteurs wees met 'n verskillende aantal parameters en verskillende tipes parameters. Daar kan enkele vernietiger in die klas wees.
Uitvoerspoed
'n Konstruktor het dieselfde naam as die klasnaam. 'n Destruktor het dieselfde naam as die klasnaam met 'n tilde (~) simbool.
Oorlaai
'n Konstruktor kan oorlaai word. 'n Vernietiger kan nie oorlaai word nie.

Opsomming – Constructor vs Destructor

OOP is 'n algemene paradigma in sagteware-ontwikkeling. Dit kan 'n komplekse projek vereenvoudig. 'n Konstruktor en 'n vernietiger word in OOP gebruik. 'n Konstruktor en vernietiger het dieselfde naam as die klas, maar die vernietiger het 'n ~-teken. Die verskil tussen 'n konstruktor en destruktor is dat 'n konstruktor gebruik word om geheue aan 'n voorwerp toe te wys terwyl 'n vernietiger gebruik word om die geheue van 'n voorwerp te deallokeer.

Laai die PDF af van Constructor vs Destructor

Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief die PDF-weergawe hier af: Verskil tussen konstruktor en vernietiger

Aanbeveel: