Forskellen mellem konstruktør og destruktør

Nøgleforskel - konstruktør 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 vedligeholdeligheden. I OOP betragtes alt som et objekt. Objekterne oprettes eller instantiseres ved hjælp af klasser. Konstruktør og Destructor er almindelige udtryk i Objektorienteret programmering. Denne artikel diskuterer forskellen mellem en konstruktør og en destruktør. En konstruktør og en destruktor er speciel medlemsfunktion i en klasse. En konstruktør og destruktor har samme navn som klassen, men destruktoren har et tilde (~) tegn. Det vigtigste forskel mellem en konstruktør og en destruktor er det en konstruktør bruges til at allokere hukommelse til et objekt, mens en destruktor bruges til en gendelingshukommelse af et objekt.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er en konstruktør
3. Hvad er en Destructor
4. Ligheder mellem konstruktør og destruktør
5. Sammenligning side ved side - Konstruktør vs Destructor i tabelform
6. Resume

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 for 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 kaldes en parameteriseret konstruktør.

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

rektangel i offentlig klasse

int længde, bredde;

offentlig rektangel (int p, int q)

længde = p;

bredde = q;

public int calculArea ()

retur (længde * bredde);

I henhold til ovenstående kodestykke har konstruktøren det samme navn som klassens navn. Konstruktørens rektangel accepterer to parametre. De er p og q. Heltalværdien p er tildelt længden. Heltalværdien q er tildelt bredden. I calcualteArea beregnes multiplikationen af ​​længde og bredde for at finde arealet af rektanglet. I hovedprogrammet kan programmereren oprette et objekt af typen Rectangle og videregive argumenterne. f.eks. Rektangel rect1 = nyt rektangel (2,3). Derefter kaldes den parameteriserede konstruktør og tildeler værdierne til længden og bredden.

Figur 01: Konstruktør og Destructor

Når der er en konstruktør uden parametre, kaldes den en standardkonstruktør. Hvis programmereren ikke definerer en konstruktør, aktiveres standardkonstruktøren. Hvis der er en klasse som Student, og når programmereren opretter et objekt af typen Student, kaldes standardkonstruktøren. f.eks. Student s1 = ny Student (); Der kan være flere konstruktører med forskellige parametre og forskellige datatyper i en klasse. Den passende konstruktør kan kaldes i overensstemmelse hermed. Derfor kan konstruktører overbelastes.

Hvad er en Destructor?

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

En destruktor giver ingen værdi tilbage. I modsætning til en konstruktør accepterer destruktoren ingen parametre. Så destruktoren understøtter ikke overbelastning. At erklære en destruktor betragtes som en god programmeringspraksis, fordi det frigiver hukommelsesområdet, og at pladsen kan bruges til opbevaring af nogle andre objekter. Destruktorens syntaks svarer til ~ className () . f.eks. ~ Rektangel () ; Der kan kun være en enkelt destructor i en klasse.

Hvad er ligheden mellem konstruktør og destruktør?

  • Både konstruktør og destruktor er forbundet med genstande.
  • Både konstruktør og destruktor giver ikke nogen værdi.
  • Både konstruktør og destruktor kaldes automatisk.

Hvad er forskellen mellem konstruktør og destruktør?

Constructor vs Destructor

En konstruktør er et specielt medlem i klassen, der bruges til at tildele hukommelse til et objekt. En destructor er et specielt medlem af klassen, der bruges til at omfordele hukommelse af et objekt.
 Metode til at påberåbe sig
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 destruktor bruges til at omfordele hukommelse til objekterne.
 Parametre
En konstruktør accepterer parametre. En destruktor accepterer ikke parametre.
Antal konstruktører og destruktører
Der kan være flere konstruktører med et andet antal parametre og forskellige typer parametre. Der kan være en enkelt destructor i klassen.
Udførelseshastighed
En konstruktør har samme navn som klassens navn. En destructor har samme navn som klassens navn med et tilde (~) symbol.
overbelastning
En konstruktør kan overbelastes. En destruktor 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 en destruktor er, at en konstruktør bruges til at tildele hukommelse til et objekt, mens en destruktor bruges til en gendelingshukommelse af et objekt.

Download PDF'en til Constructor vs Destructor

Du kan downloade PDF-versionen af ​​denne artikel og bruge den til offline-formål som angivet i citatnotatet. Download PDF-versionen her: Forskel mellem konstruktør og destruktør

Reference:

1.tutorialspoint.com. "Java-objekt og klasser." Pointen, Tilgængelig her