Skillnad mellan byggare och destructor

Klassen är själva kärnan i objektorienterad programmering (OOP). Det är som en plan för att skapa objekt som ger initialvärden för medlemsvariabler och medlemsfunktioner. Det är det grundläggande byggstenen för OOP som definierar ett framtidsobjekts karaktär. Det viktigaste med en klass är att det definierar en ny datatyp och en gång definierad kan den användas för att skapa objekt av den typen. Så det skulle vara tillräckligt att säga att en klass är en mall för ett objekt, och ett objekt är faktiskt en förekomst av en klass. Den används för att skapa och hantera nya objekt och stödja arv, vilket är ett av kärnbegreppen för objektorienterade programmeringsspråk som Java. Kortfattat organiserar en klass information om en datatyp för att återanvända element när flera instanser av den datatypen görs. De data eller variabler som definieras i en klass kallas instansvariabler.

Vad är en byggare?

En konstruktör är en speciell medlemsfunktion av en klass som kallas när förekomst av ett objekt skapas. Det kan vara svårt ibland att initialisera alla variabler i en klass varje gång en instans skapas. Eftersom kravet på initialisering är vanligt vid objektorienterad programmering tillåter objekt att initiera automatiskt när de skapas. Denna process med automatisk initialisering görs genom användning av en konstruktör. Anledningen till att den kallas speciell är att instansmetoden vanligen har samma namn som klassen. Den initierar ett objekt omedelbart efter skapandet och kan användas för att ställa in värdena för medlemmarna av ett objekt. En konstruktör är syntaktiskt lik en metod i objektorienterad programmering och en metod är ett förfarande som är förknippat med en klass och ingår i något föremål för den klassen. Kort sagt kallas en konstruktör varje gång ett objekt av en klass skapas. Det viktigaste med konstruktörer är att de inte har någon Returtyp, inte ens tom.

Vad är en Destructor?

En destructor är helt annorlunda; Det är en speciell metod som kallas när exempel på en klass tas bort från minnet. En destructor kallas automatiskt när ett objekt inte längre behövs eller är på väg att försvinna eller släpps ut explicit. Huvudsyftet med en destructor är att bli av med de resurser som objektet använde under sin livscykel. Det ger objektet en sista chans att frigöra minne som allokeras så att det finns tillräckligt med utrymme på hög för att lagra nya objekt för att köra program effektivt. Destruktorer används ofta i samband med konstruktörer, förutom att de används för att förstöra objekt som skapades med hjälp av konstruktörer. Tanken är att de-initialisera objekt när de tas bort för att frigöra minne för nya objekt. Liksom konstruktörer definieras destruktorer som subrutiner i klassdefinitionen och de har samma namn som klassnamnet, förutom att en destructor är prefixad med en ~ (tilde) operatör. Destruktorer kallas explicit i C ++, men det finns inga destructorer i Java.

Skillnad mellan Constructor och Destructor

Syftet med Constructor och Destructor

Både konstruktörer och destruktorer är speciella medlemsfunktioner i varje klass men med olika begrepp. En konstruktör används för att initialisera förekomsten av en klass, vilket innebär att den åberopas varje gång en klass instanseras, medan en destructor är motsatt av en konstruktör som kallas i motsatt ordning av konstruktorer.

Minnesallokering

En konstruktör kallas varje gång en ny instans av en klass skapas. Det är i grunden en medlemsfunktion av en klass som initierar ett objekt omedelbart efter skapandet och tilldelar minne till det. En destructor å andra sidan kallas när exempel på en klass tas bort från minnet som i sin tur avinstallerar objekt som skapades med hjälp av konstruktörer för att frigöra minne för nya objekt.

namn

Både konstruktörer och destruktorer är speciella medlemsfunktioner i en klass med samma namn som klassnamnet, förutom att en destructor är prefixad med en ~ (tilde) operatör. En konstruktör är inget annat än en metod som inte har någon Returtyp, inte ens tom, medan destruktorer är exakt motsatta av konstruktörer.

överbelastning

Både konstruktörer och destruktorer kallas automatiskt efter skapandet och raderingen. Men till skillnad från konstruktörer kan destruktorer inte överbelastas. Överbelastning är ett objektorienterat programmeringskoncept som låter dig definiera två eller flera funktioner med samma namn så att du kan ringa dem med olika argumentlistor.

Argument

I objektorienterad programmering accepterar konstruktorer ofta argument som de använder för att ställa in nödvändiga medlemsvariabler, medan destruktorer inte accepterar några argument.

Arbetare av byggare och destructor

Konstruktörer tillåter objektet att initiera en del av dess värde innan den används, medan destructorer tillåter objektet att exekvera någon del av koden när den förstörs.

 Constructor Verses Destructor: jämförelsediagram

Sammanfattning av Constructor Vs. destructor

Både konstruktörer och destruktorer är speciella medlemsfunktioner i en klass med samma namn som klassnamnet, förutom att destruktorer föregås av en tillflyktsoperatör. En konstruktör är inget annat än en metod förutom att det kallas när förekomsten av ett objekt skapas, medan en destructor är exakt motsatsen till konstruktörer som kallas när förekomsten av ett objekt raderas från minnet. Syftet med destruktorer är att de-initialisera objekt som skapades med hjälp av konstruktörer för att frigöra minnesutrymme för att rymma nya objekt.