Belangrijk verschil - Constructor vs Destructor
De meeste programmeertalen ondersteunen Object Oriented Programming (OOP). Het is het paradigma dat helpt bij het modelleren van een software of een programma met behulp van objecten. OOP verbetert de productiviteit en onderhoudbaarheid. In OOP wordt alles als een object beschouwd. De objecten worden gemaakt of geïnstantieerd met behulp van klassen. Constructor en Destructor zijn veelvoorkomende termen in objectgeoriënteerd programmeren. Dit artikel bespreekt het verschil tussen een constructor en een destructor. Een constructor en een destructor zijn een speciale lidfunctie in een klasse. Een constructor en destructor hebben dezelfde naam als de klasse, maar de destructor heeft een tilde-teken (~). Het belangrijkste verschil tussen een constructor en destructor is dat een constructor wordt gebruikt om geheugen aan een object toe te wijzen, terwijl een destructor wordt gebruikt om het geheugen van een object opnieuw toe te wijzen.
Wat is een constructeur?
Een constructor is een speciale lidfunctie in de klasse om geheugen toe te wijzen aan een object. Het kan worden gebruikt om waarden voor de gegevensleden op te geven. De constructor wordt aangeroepen wanneer het object wordt gemaakt. Het heeft dezelfde naam als de klassenaam. Een constructor retourneert geen waarde. Daarom bevat het geen retourtype. Een constructor kan ook parameters accepteren. Een constructor met parameters staat bekend als een geparametriseerde constructor.
Een voorbeeld van een constructor is als volgt.
publieke klas Rechthoek{
int lengte, breedte;
public Rectangle(int p, int q){
lengte=p;
breedte=q;
}
public intcalcArea(){
retour (lengtebreedte);
}
}
Volgens het bovenstaande stukje code heeft de constructor dezelfde naam als de klassenaam. De constructor Rectangle accepteert twee parameters. Het zijn p en q. De gehele waarde p wordt toegewezen aan de lengte. De gehele waarde q wordt toegewezen aan de breedte. In de calcu alteArea wordt de vermenigvuldiging van lengte en breedte berekend om de oppervlakte van de rechthoek te vinden. In het hoofdprogramma kan de programmeur een object van het type Rectangle maken en de argumenten doorgeven. bijv. Rechthoek rect1=nieuwe Rechthoek (2, 3). Vervolgens wordt de geparametriseerde constructor aangeroepen en wijst de waarden toe aan de lengte en breedte.
Figuur 01: Constructor en Destructor
Als er een constructor is zonder parameters, wordt dit een standaardconstructor genoemd. Als de programmeur geen constructor definieert, wordt de standaardconstructor aangeroepen. Als er een klas is als Student en wanneer de programmeur een object van het type Student maakt, wordt de standaardconstructor aangeroepen. bijv. Student s1=nieuwe Student(); Er kunnen meerdere constructors met verschillende parameters en verschillende gegevenstypen in een klasse zijn. De juiste constructor kan dienovereenkomstig worden aangeroepen. Daarom kunnen constructeurs overbelast worden.
Wat is een Destructor?
Een destructor is een speciale ledenfunctie in de klas. Het wordt gebruikt om geheugen toe te wijzen aan een object dat door de constructor is gemaakt. De destructor wordt aangeroepen wanneer het object wordt vernietigd. Het voert de opruimopslag uit die niet langer nodig is. Net als de constructor heeft de destructor dezelfde naam als de klasse. Het bevat ook een tilde (~) symbool.
Een destructor geeft geen waarde terug. In tegenstelling tot een constructor accepteert de destructor geen parameters. Destructor ondersteunt dus geen overbelasting. Het declareren van een destructor wordt beschouwd als een goede programmeerpraktijk omdat het de geheugenruimte vrijmaakt en die ruimte kan worden gebruikt voor het opslaan van enkele andere objecten. De syntaxis van destructor is vergelijkbaar met ~className() { }. bijv. ~Rechthoek() { }; Er kan maar één destructor in een klasse zijn.
Wat zijn de overeenkomsten tussen constructor en destructor?
- Zowel constructor als destructor zijn geassocieerd met objecten.
- Zowel constructor als destructor geven geen enkele waarde terug.
- Zowel constructor als destructor worden automatisch aangeroepen.
Wat is het verschil tussen Constructor en Destructor?
Constructor vs Destructor |
|
Een constructor is een speciaal lid in de klasse die wordt gebruikt om geheugen toe te wijzen aan een object. | Een destructor is een speciaal lid van de klasse die wordt gebruikt om het geheugen van een object vrij te geven. |
Aanroepmethode | |
Een constructor wordt aangeroepen wanneer het object wordt gemaakt. | Een destructor wordt aangeroepen wanneer het object wordt vernietigd of verwijderd. |
Gebruik | |
Een constructor wordt gebruikt om geheugen toe te wijzen aan de objecten. | Een destructor wordt gebruikt om geheugen voor de objecten vrij te geven. |
Parameters | |
Een constructor accepteert parameters. | Een destructor accepteert geen parameters. |
Aantal constructeurs en vernietigers | |
Er kunnen meerdere constructors zijn met een verschillend aantal parameters en verschillende soorten parameters. | Er kan één destructor in de klas zijn. |
Uitvoeringssnelheid | |
Een constructor heeft dezelfde naam als de klassenaam. | Een destructor heeft dezelfde naam als de klassenaam met een tilde (~) symbool. |
Overbelasting | |
Een constructor kan overbelast zijn. | Een destructor kan niet worden overbelast. |
Samenvatting – Constructor vs Destructor
OOP is een veelvoorkomend paradigma in softwareontwikkeling. Het kan een complex project vereenvoudigen. Een constructor en een destructor worden gebruikt in OOP. Een constructor en destructor hebben dezelfde naam als de klasse, maar de destructor heeft een ~-teken. Het verschil tussen een constructor en destructor is dat een constructor wordt gebruikt om geheugen aan een object toe te wijzen, terwijl een destructor wordt gebruikt om het geheugen van een object opnieuw toe te wijzen.
Download de PDF van Constructor vs Destructor
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens de citatienota. Download de PDF-versie hier: Verschil tussen Constructor en Destructor