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: Jeg drikker mælk, rå mælk, pasteuriseret eller steriliseret 2024, Kan
Anonim

Nøgleforskel - Constructor vs Destructor

De fleste programmeringssprog understøtter Object Oriented Programming (OOP). Det er paradigmet, der hjælper med at modellere en software eller et program ved hjælp af objekter. OOP forbedrer produktiviteten og vedligeholdelsesevnen. I OOP betragtes alt som et objekt. Objekterne oprettes eller instantieres 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 destruktør er speciel medlemsfunktion i en klasse. En konstruktør og destruktør har samme navn som klassen, men destruktøren har et tilde (~) tegn. Hovedforskellen mellem en konstruktør og en destruktor er, at en konstruktør bruges til at allokere hukommelse til et objekt, mens en destruktor bruges til at deallocere hukommelsen af et objekt.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er en konstruktør

3. Hvad er en destruktør

4. Ligheder mellem konstruktør og destruktor

5. Sammenligning side om side - Konstruktør mod destruktør i tabelform

6. Resumé

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 give værdier til datamedlemmerne. Konstruktøren påberåbes, når objektet oprettes. Det har samme navn som klassens navn. En konstruktør returnerer ingen værdi. Derfor indeholder den ikke en returtype. En konstruktør kan også acceptere parametre. En konstruktør med parametre er kendt som en parametreret 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) {

længde = p;

bredde = q;

}

offentlig int-beregningsareal () {

retur (længde * bredde);

}

}

Ifølge ovenstående stykke kode har konstruktøren det samme navn som klassens navn. Konstruktørrektanglet accepterer to parametre. De er p og q. Heltalsværdien p er tildelt længden. Heltalsværdien q tildeles bredden. I calcualteArea 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. f.eks. rektangel rekt1 = nyt rektangel (2,3). Derefter kaldes den parametriserede konstruktor og tildeler værdierne til længde og bredde.

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

Figur 01: Konstruktør og ødelægger

Når der er en konstruktør uden parametre, kaldes den en standardkonstruktør. Hvis programmøren ikke definerer en konstruktør, kaldes standardkonstruktøren. Hvis der er en klasse som Student, og når programmøren opretter et objekt af typen Student, kaldes standardkonstruktøren. fx Student s1 = ny Student (); 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 overbelastes.

Hvad er en Destructor?

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

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

Hvad er ligheden 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?

Diff artikel midt foran bordet

Constructor vs Destructor

En konstruktør er et specielt medlem i klassen, der bruges til at allokere hukommelse til et objekt. En destruktør er et specielt medlem af klassen, der bruges til at omfordele hukommelsen af et objekt.
Fremkaldelsesmetode
En konstruktør påberåbes, når objektet oprettes. En destruktor kaldes, når objektet ødelægges eller slettes.
Anvendelse
En konstruktør bruges til at tildele hukommelse til objekterne. En destruktør 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 andet antal parametre og forskellige typer parametre. Der kan være en enkelt destruktør i klassen.
Udførelseshastighed
En konstruktør har samme navn som klassens navn. En destruktør har samme navn som klassens navn med et tilde (~) symbol.
Overbelastning
En konstruktør kan overbelastes. En destruktør kan ikke overbelastes.

Resumé - Constructor vs Destructor

OOP er et fælles 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 destruktøren 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 deallocate-hukommelsen af et objekt.

Download PDF'en af Constructor vs Destructor

Du kan downloade PDF-versionen af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-versionen her: Forskellen mellem konstruktør og destruktor

Anbefalet: