Forskellen mellem konstruktør og destruktor

Indholdsfortegnelse:

Forskellen mellem konstruktør og destruktor
Forskellen mellem konstruktør og destruktor

Video: Forskellen mellem konstruktør og destruktor

Video: Forskellen mellem konstruktør og destruktor
Video: Forskelle og ligheder mellem EUX- og EUD-tømreruddannelserne 2024, November
Anonim

Nøgleforskel – Constructor vs Destructor

De fleste programmeringssprog understøtter objektorienteret programmering (OOP). Det er paradigmet, der hjælper med at modellere en software eller et program ved hjælp af objekter. OOP forbedrer produktiviteten og vedligeholdelsen. I OOP betragtes alt som et objekt. Objekterne oprettes eller instansieres ved hjælp af klasser. Constructor og Destructor er almindelige udtryk i objektorienteret programmering. Denne artikel diskuterer forskellen mellem en konstruktør og en destruktor. En konstruktør og en destruktor er en speciel medlemsfunktion i en klasse. En konstruktør og destruktor har samme navn som klassen, men destruktoren har et tilde (~) tegn. Den vigtigste forskel mellem en konstruktør og destruktor er, at en konstruktør bruges til at allokere hukommelse til et objekt, mens en destruktor bruges til at deallokere et objekts hukommelse.

Hvad er en konstruktør?

En konstruktør er en speciel medlemsfunktion i klassen til at allokere hukommelse til et objekt. Det kan bruges til at angive værdier for datamedlemmerne. Konstruktøren påkaldes, når objektet oprettes. Den har samme navn som klassens navn. En konstruktør returnerer ikke nogen værdi. Derfor indeholder den ikke en returtype. En konstruktør kan også acceptere parametre. En konstruktør med parametre er kendt som en parameteriseret konstruktør.

Et eksempel på en konstruktør er som følger.

offentlig klasse rektangel{

int længde, bredde;

offentlig rektangel(int p, int q){

length=p;

width=q;

}

public int calculateArea(){

return (længdebredde);

}

}

I henhold til ovenstående kodestykke har konstruktøren det samme navn som klassenavnet. Konstruktøren Rektangel accepterer to parametre. De er p og q. Heltalsværdien p er tildelt længden. Heltalsværdien q er tildelt bredden. I calcu alteArea beregnes multiplikationen af længde og bredde for at finde arealet af rektanglet. I hovedprogrammet kan programmøren oprette et objekt af typen Rektangel og videregive argumenterne. for eksempel. Rektangel rektangel1=nyt rektangel(2, 3). Derefter kaldes den parametriserede konstruktør og tildeler værdierne til længden og bredden.

Forskellen mellem konstruktør og destruktor
Forskellen mellem konstruktør og destruktor

Figur 01: Konstruktør og destruktor

Når der er en konstruktør uden nogen parametre, kaldes den en standardkonstruktør. Hvis programmøren ikke definerer en konstruktør, vil standardkonstruktøren blive aktiveret. Hvis der er en klasse som Student, og når programmøren opretter et objekt af typen Student, kaldes standardkonstruktøren. for eksempel. Elev s1=ny elev(); Der kan være flere konstruktører med forskellige parametre og forskellige datatyper i en klasse. Den relevante konstruktør kan kaldes i overensstemmelse hermed. Derfor kan konstruktører blive overbelastet.

Hvad er en Destructor?

En destruktor er en særlig medlemsfunktion i klassen. Det bruges til at de-allokere hukommelse til et objekt oprettet af konstruktøren. Destruktoren påkaldes, når objektet ødelægges. Den udfører den oprydningsopbevaring, der ikke længere er påkrævet. Ligesom konstruktøren har destruktoren samme navn som klassen. Den indeholder også et tilde-symbol (~).

En destruktor returnerer ingen værdi. I modsætning til en konstruktør accepterer destruktoren ingen parametre. Så destructor understøtter ikke overbelastning. At erklære en destructor betragtes som en god programmeringspraksis, fordi det frigiver hukommelsespladsen, og den plads kan bruges til at gemme nogle andre objekter. Syntaksen for destructor ligner ~className() { }. for eksempel. ~Rektangel() { }; Der kan kun være en enkelt destruktor i en klasse.

Hvad er lighederne mellem konstruktør og destruktor?

  • Både konstruktør og destruktor er forbundet med objekter.
  • Både konstruktør og destruktor returnerer ingen værdi.
  • Både konstruktør og destruktor kaldes automatisk.

Hvad er forskellen mellem konstruktør og destruktor?

Constructor vs Destructor

En konstruktør er et særligt medlem i klassen, der bruges til at allokere hukommelse til et objekt. En destruktor er et særligt medlem af klassen, der bruges til at deallokere hukommelse til et objekt.
Metode til påkaldelse
En konstruktør kaldes, når objektet oprettes. En destruktor kaldes, når objektet ødelægges eller slettes.
Usage
En konstruktør bruges til at allokere hukommelse til objekterne. En destruktor bruges til at deallokere hukommelse til objekterne.
Parametre
En konstruktør accepterer parametre. En destruktor accepterer ikke parametre.
Antal konstruktører og destruktorer
Der kan være flere konstruktører med et forskelligt antal parametre og forskellige typer parametre. Der kan være en enkelt destruktor i klassen.
Udførelseshastighed
En konstruktør har samme navn som klassenavnet. En destruktor har samme navn som klassenavnet med et tilde-symbol (~).
Overbelastning
En konstruktør kan blive overbelastet. En destruktor kan ikke overbelastes.

Opsummering – Constructor vs Destructor

OOP er et almindeligt paradigme inden for softwareudvikling. Det kan forenkle et komplekst projekt. En konstruktør og en destruktor bruges i OOP. En konstruktør og destruktor har samme navn som klassen, men destruktoren har et ~-tegn. Forskellen mellem en konstruktør og destruktor er, at en konstruktør bruges til at allokere hukommelse til et objekt, mens en destruktor bruges til at deallokere et objekts hukommelse.

Download PDF'en af Constructor vs Destructor

Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-versionen her: Difference Between Constructor and Destructor

Anbefalede: