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 veelgebruikte termen in objectgeoriënteerde programmering. Dit artikel bespreekt het verschil tussen een constructor en een destructor. Een constructor en een destructor zijn speciale ledenfuncties in een klas. Een constructor en destructor hebben dezelfde naam als de klasse, maar de destructor heeft een tilde (~) -teken. De belangrijk verschil tussen een constructeur en een destructor is dat een constructor wordt gebruikt om geheugen toe te wijzen aan een object, terwijl een destructor wordt gebruikt voor het deallocatie-geheugen van een object.
1. Overzicht en belangrijkste verschil
2. Wat is een Constructor
3. Wat is een destructor
4. Overeenkomsten tussen Constructor en Destructor
5. Vergelijking zij aan zij - Constructor versus destructor in tabelvorm
6. Samenvatting
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 geparametreerde constructor.
Een voorbeeld van een constructor is als volgt.
public class Rectangle
int lengte, breedte;
public Rectangle (int p, int q)
lengte = p;
breedte = q;
public int calculateArea ()
terugkeer (lengte * breedte);
Volgens het bovenstaande stuk code heeft de constructor dezelfde naam als de klassenaam. De constructor Rectangle accepteert twee parameters. Ze zijn p en q. De gehele waarde p wordt toegewezen aan de lengte. De gehele waarde q wordt toegewezen aan de breedte. In de calcualteArea wordt de vermenigvuldiging van lengte en breedte berekend om het gebied 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 geparametreerde constructor aangeroepen en worden de waarden aan de lengte en breedte toegewezen.
Figuur 01: Constructor en destructor
Als er een constructor zonder parameters is, wordt dit een standaardconstructor genoemd. Als de programmeur geen constructor definieert, wordt de standaardconstructor aangeroepen. Als er een klasse is als Student en de programmeur een object van het type Student maakt, wordt de standaardconstructor aangeroepen. bijv. Student s1 = nieuwe student (); Er kunnen meerdere constructors zijn met verschillende parameters en verschillende gegevenstypen in een klasse. De juiste constructor kan overeenkomstig worden genoemd. Daarom kunnen constructeurs worden overbelast.
Een destructor is een speciale lidfunctie in de klas. Het wordt gebruikt om geheugen te de-alloceren voor een object dat door de constructor is gemaakt. De destructor wordt aangeroepen wanneer het object wordt vernietigd. Het voert de opschoonopslag uit die niet langer nodig is. Net als de constructeur heeft de destructor dezelfde naam als de klasse. Het bevat ook een tilde (~) symbool.
Een destructor retourneert geen waarde. In tegenstelling tot een constructor accepteert de destructor geen parameters. Dus destructor ondersteunt geen overbelasting. Het declareren van een destructor wordt beschouwd als een goede programmeerpraktijk omdat het de geheugenruimte vrijgeeft en die ruimte kan worden gebruikt voor het opslaan van sommige andere objecten. De syntaxis van destructor is vergelijkbaar met ~ className () . bijv. ~ Rectangle () ; Er kan slechts één destructor in een klasse zijn.
Constructor versus destructor | |
Een constructor is een speciaal lid in de klasse dat wordt gebruikt om geheugen aan een object toe te wijzen. | Een destructor is een speciaal lid van de klasse dat wordt gebruikt om geheugen van een object te herverdelen. |
Methode van aanroepen | |
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 voor de objecten toe te wijzen. | Een destructor wordt gebruikt om geheugen vrij te maken voor de objecten. |
parameters | |
Een constructor accepteert parameters. | Een destructor accepteert geen parameters. |
Aantal constructeurs en destructors | |
Er kunnen meerdere constructeurs zijn met een ander aantal parameters en verschillende soorten parameters. | Er kan één destructor in de klas zijn. |
Uitvoersnelheid | |
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. |
OOP is een gemeenschappelijk 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 een destructor is dat een constructor wordt gebruikt om geheugen aan een object toe te wijzen, terwijl een destructor wordt gebruikt voor het deallocate-geheugen van een object.
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens citaatnotitie. Download de PDF-versie hier: Difference Between Constructor and Destructor
1.tutorialspoint.com. "Java-object en -klassen." Het punt, Beschikbaar Hier