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.
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