Inleiding tot Constructor en Destructor

Constructor en Destructor. De constructor is een speciale functie die dezelfde naam heeft als die van de klasse waarin deze is gedefinieerd. Het wordt automatisch aangeroepen wanneer een nieuwe instantie wordt gemaakt. Het wordt beschouwd als een speciaal soort functie omdat het niet nodig is om expliciet het object te gebruiken. Destructor kan worden gedefinieerd als een speciaal soort methode die kan worden ingetrokken wanneer de instantie wordt verwijderd. Het doel van de Destructor is om het geheugen vrij te maken dat het ermee bindt terwijl de instantie van de klasse is gemaakt. Het concept van Destructor maakt zich zorgen over geheugenbeheer, zodat de bronnen efficiënt kunnen worden gebruikt. In talen zoals C ++ bestaat het concept van Destructor en zou automatisch kunnen worden opgeroepen zodra de instantie is verwijderd, terwijl in een taal als Java het concept van Destructor niet bestaat. Het laat het programma op een goede manier schrijven, zodat het goed kan worden gecompileerd en licht van gewicht kan zijn in termen van geheugenverbruik.

Vergelijking tussen constructeur en destructor

Hieronder vindt u de Top 4-vergelijkingen tussen constructor en destructor

Belangrijkste verschillen tussen constructor en destructor

Er zijn verschillende verschillen tussen constructors en destructors. Hieronder staan ​​enkele veel voorkomende en belangrijke verschillen.

  • De constructor wordt aangeroepen wanneer een instantie van die klasse wordt gemaakt. Het hoeft niet expliciet te worden genoemd. In het geval van de destructor wordt deze opgeroepen wanneer de instantie van een klasse wordt verwijderd. Het is ook iets dat automatisch in de rol komt direct nadat het object is verwijderd.
  • De constructor leidt ertoe om het geheugen van het systeem te bezetten door ze naar de bronnen te lokaliseren en het tegenovergestelde is in het geval van de destructor. In destructor wordt het geheugen dat aan de bronnen is toegewezen vrijgegeven, zodat het door een andere bron kan worden gebruikt.
  • Om de constructor te verklaren, is er geen speciaal karakter nodig. Je kunt gewoon een methode maken waarvan de naam vergelijkbaar is met die van de klasse. In het geval van de destructor moet het tilde-teken worden gebruikt om destructor in het programma te introduceren.
  • De constructor kan worden gebruikt in de programmeertaal op hoog en middelbaar niveau. Hoewel het in het geval van de destructor niet in de taal op hoog niveau kan worden gebruikt. C ++ kan de destructor gebruiken, maar hetzelfde is niet beschikbaar in Java. Het is vanwege de reden dat programmeertaal op hoog niveau zijn eigen mechanisme voor geheugenbeheer had.
  • De constructor kan vaak in het programma worden gebruikt. Het is heel eenvoudig te gebruiken en vermindert de complexiteit van het programma. Aan de andere kant heeft de destructor de voorkeur om te worden gebruikt wanneer het geheugenverbruik door de programmabronnen moet worden verminderd.

Head-to-Head vergelijking tussen Constructor en Destructor

bouwerdestructor
Wordt aangeroepen tijdens het maken van een exemplaar
Wanneer de instantie of het object van een klasse wordt gemaakt, leidt dit ertoe dat de constructor automatisch wordt opgeroepen en alle instructies worden uitgevoerd die volgens de constructormethode moeten worden uitgevoerd.
Opgeroepen tijdens verwijdering van exemplaar
Wanneer de instantie of het object wordt verwijderd, wordt de destructor automatisch opgeroepen en daarna worden de instructies van de destructor-klasse opeenvolgend uitgevoerd.
Bezet geheugen
Terwijl de klasse wordt aangeroepen, wordt geheugen toegewezen aan alle bronnen die de klasse verder gaat gebruiken. Het leidt tot het consumeren van het geheugen van het systeem om de gegevens permanent of tijdelijk op te slaan.
Geeft geheugen vrij
Terwijl de destructor wordt aangeroepen, geeft deze alle herinneringen vrij dat de bronnen zijn bezet. Het vrijgegeven geheugen kan zich verder bevinden naar andere bronnen die in het programma worden gebruikt.
Ondersteund in talen op middelhoog en hoog niveau
De constructor wordt automatisch aangeroepen wanneer een instantie van die klasse is gemaakt en deze functie wordt door beide soorten talen ondersteund: programmeertalen voor het midden- en hoogniveau.
Ondersteuning alleen in taal op middelbaar niveau
De functies van de destructor worden alleen ondersteund in een taal op middenniveau zoals C ++. Als het gaat om taal op hoog niveau zoals Java, staan ​​dergelijke functies niet toe, omdat het zijn eigen manier heeft om het geheugen te beheren.
Geen speciaal teken vereist tijdens de aangifte
Om de constructor te verklaren, moet je gewoon de naam van de methode opschrijven die dezelfde moet zijn als die van de klasse. Er mag geen speciaal teken zijn vereist om een ​​constructeur te verklaren.
Tilde wordt gebruikt tijdens een aangifte
Om de vernietiger aan te geven, moet u een tilde gebruiken. De naam van de constructor moet worden gevolgd door het tilde-teken en moet eindigen met kleine haakjes zoals het in elke functie gebeurt.

Conclusie

  • De constructor is niets anders dan alleen de methode die dezelfde naam heeft als die van de klasse. Het kost geen tijd om een ​​beroep te doen zodra de instanties zijn gemaakt. Het object kan in dit geval worden gemaakt met dezelfde syntaxis als het wordt gebruikt om een ​​object van een willekeurige klasse te maken. Tegen de tijd dat het object is gemaakt, neemt het de ruimte in het geheugen in beslag en wordt de uitspraak van de constructor uitgevoerd.
  • De destructor is iets precies tegenovergesteld aan dat van de constructor. Het wordt aangeroepen onmiddellijk nadat het object is verwijderd. Wanneer het object wordt verwijderd, worden feitelijk alle bronnen verwijderd die zich erop bevinden, waardoor alle door hen gereserveerde herinneringen worden vrijgemaakt, zodat de nieuwe bronnen dat geheugen kunnen gebruiken. Hoewel er enkele verschillen zijn tussen beide concepten, spelen ze beide een cruciale rol bij het programmeren en vooral als we het hebben over efficiënt programmeren met behulp van de middelste taal.

Aanbevolen artikelen:

Dit is een gids voor het verschil tussen constructor en destructor. Hier hebben we een inleiding tot Constructor en Destructor besproken, de belangrijkste verschillen samen met de vergelijkingstabel. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. C ++ versus Java
  2. C ++ Interview Vragen
  3. Vragen tijdens solliciteren bij Java Collections
  4. Carrière in computer programmeren