Skillnaden mellan konstruktör och destruktör

Innehållsförteckning:

Skillnaden mellan konstruktör och destruktör
Skillnaden mellan konstruktör och destruktör

Video: Skillnaden mellan konstruktör och destruktör

Video: Skillnaden mellan konstruktör och destruktör
Video: Difference between Constructor and Destructor in C++ in hindi | Constructor Vs Destructor 2024, Juli
Anonim

Key skillnad – Constructor vs Destructor

De flesta programmeringsspråk stöder Object Oriented Programming (OOP). Det är paradigmet som hjälper till att modellera en programvara eller ett program med hjälp av objekt. OOP förbättrar produktiviteten och underhållsbarheten. I OOP betraktas allt som ett objekt. Objekten skapas eller instansieras med hjälp av klasser. Constructor och Destructor är vanliga termer inom objektorienterad programmering. Den här artikeln diskuterar skillnaden mellan en konstruktör och en destruktor. En konstruktör och en destruktor är speciella medlemsfunktioner i en klass. En konstruktör och destruktor har samma namn som klassen, men förstöraren har ett tilde (~) tecken. Den viktigaste skillnaden mellan en konstruktor och destruktor är att en konstruktor används för att allokera minne till ett objekt medan en destruktor används för att deallokera minnet för ett objekt.

Vad är en konstruktör?

En konstruktor är en speciell medlemsfunktion i klassen för att allokera minne till ett objekt. Den kan användas för att tillhandahålla värden för datamedlemmarna. Konstruktorn anropas när objektet skapas. Den har samma namn som klassnamnet. En konstruktör returnerar inget värde. Därför innehåller den ingen returtyp. En konstruktör kan också acceptera parametrar. En konstruktor med parametrar kallas en parameteriserad konstruktor.

Ett exempel på en konstruktör är följande.

public class rektangel{

int length, width;

public rektangel(int p, int q){

length=p;

width=q;

}

public int calculateArea(){

retur (längdbredd);

}

}

Enligt ovanstående kodbit har konstruktören samma namn som klassnamnet. Konstruktören Rectangle accepterar två parametrar. De är p och q. Heltalsvärdet p tilldelas längden. Heltalsvärdet q tilldelas bredden. I calcu alteArea beräknas multiplikationen av längd och bredd för att hitta arean av rektangeln. I huvudprogrammet kan programmeraren skapa ett objekt av typen Rektangel och skicka argumenten. t.ex. Rektangel rektangel1=ny rektangel(2, 3). Sedan anropas den parametriserade konstruktorn och tilldelar värdena till längden och bredden.

Skillnaden mellan konstruktör och destruktör
Skillnaden mellan konstruktör och destruktör

Figur 01: Konstruktör och destruktör

När det finns en konstruktor utan några parametrar kallas det en standardkonstruktor. Om programmeraren inte definierar en konstruktor kommer standardkonstruktorn att anropas. Om det finns en klass som Student och när programmeraren skapar ett objekt av typen Student, anropas standardkonstruktorn. t.ex. Student s1=ny Student(); Det kan finnas flera konstruktörer med olika parametrar och olika datatyper i en klass. Lämplig konstruktör kan anropas i enlighet med detta. Därför kan konstruktörer bli överbelastade.

Vad är en Destructor?

En destruktor är en speciell medlemsfunktion i klassen. Den används för att avallokera minne för ett objekt skapat av konstruktorn. Destruktören anropas när föremålet förstörs. Den utför saneringslagringen som inte längre behövs. Precis som konstruktören har destruktorn samma namn som klassen. Den innehåller också en tilde-symbol (~).

En destruktör returnerar inget värde. Till skillnad från en konstruktör accepterar inte destruktorn några parametrar. Så destructor stöder inte överbelastning. Att deklarera en destruktor anses vara en bra programmeringspraxis eftersom det frigör minnesutrymmet och det utrymmet kan användas för att lagra vissa andra objekt. Syntaxen för destructor liknar ~className() { }. t.ex. ~Rektangel() { }; Det kan bara finnas en enda förstörare i en klass.

Vilka är likheterna mellan konstruktör och destruktör?

  • Både konstruktören och destruktören är associerade med objekt.
  • Både konstruktören och destruktören returnerar inget värde.
  • Både konstruktören och destruktören anropas automatiskt.

Vad är skillnaden mellan konstruktör och destruktör?

Constructor vs Destructor

En konstruktor är en speciell medlem i klassen som används för att allokera minne till ett objekt. En destruktör är en speciell medlem i klassen som används för att avallokera minne till ett objekt.
Metod för att anropa
En konstruktor anropas när objektet skapas. En destruktor anropas när objektet förstörs eller raderas.
Användning
En konstruktor används för att allokera minne för objekten. En destruktor används för att deallokera minne för objekten.
Parametrar
En konstruktör accepterar parametrar. En destruktör accepterar inte parametrar.
Antal konstruktörer och destruktörer
Det kan finnas flera konstruktörer med olika antal parametrar och olika typer av parametrar. Det kan finnas singelförstörare i klassen.
Utförandehastighet
En konstruktör har samma namn som klassnamnet. En destruktor har samma namn som klassnamnet med en tilde-symbol (~).
Överbelastning
En konstruktor kan överbelastas. En destruktor kan inte överbelastas.

Sammanfattning – Constructor vs Destructor

OOP är ett vanligt paradigm inom mjukvaruutveckling. Det kan förenkla ett komplext projekt. En konstruktör och en destruktor används i OOP. En konstruktör och destruktor har samma namn som klassen, men destruktorn har ett ~-tecken. Skillnaden mellan en konstruktor och destruktor är att en konstruktor används för att allokera minne till ett objekt medan en destruktor används för att deallokera minnet för ett objekt.

Ladda ner PDF-filen för Constructor vs Destructor

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Difference Between Constructor and Destructor

Rekommenderad: