Een constructor is een speciaal type methode die wordt gebruikt om een nieuw object van een klasse te -=INITIALISEREN=-. Het wordt automatisch aangeroepen wanneer een object van de klasse wordt gemaakt. Een constructor kan parameters bevatten, waarmee waarden aan de velden van het object kunnen worden toegewezen.
Casus
Stel je bouwt een auto in een programma. De constructor kan worden gebruikt om de merknaam, het model en het bouwjaar van de auto te initialiseren.
Hoe zit een constructor in elkaar?
Een constructor heeft dezelfde naam als de klasse waarin deze zich bevindt en heeft geen return-type, zelfs geen void. Er kunnen meerdere constructors in een klasse bestaan (Constructor Overloading), zolang ze verschillende parameterlijsten hebben. Een constructor kan worden uitgebreid door middel van method chaining of het aanroepen van andere constructors binnen dezelfde klasse.
Deze code definieert een klasse genaamd Auto, die drie eigenschappen (Merk, Model en Bouwjaar) heeft om informatie over een auto op te slaan. De klasse bevat een constructor die deze properties initialiseert met de waarden die bij het aanmaken van een Auto-object worden meegegeven.
Codevoorbeeld
public class Auto{ public string Merk { get; set; } public string Model { get; set; } public int Bouwjaar { get; set; } public Auto(string merk, string model, int bouwjaar) { Merk = merk; Model = model; Bouwjaar = bouwjaar; }}
Hoe gebruik je een constructor?
Constructors worden gebruikt om objecten te initialiseren met standaardwaarden of specifieke waarden die bij het aanroepen van de constructor worden doorgegeven. Dit maakt het eenvoudiger om objecten op een consistente en herbruikbare manier te maken. Als er aanvullende logica nodig is bij het maken van een object, kan dit ook in de constructor worden verwerkt.
Casus
Stel je maakt een applicatie waarin je verschillende soorten meubels wilt beheren. Met behulp van een constructor kun je elk meubel initialiseren met specifieke eigenschappen zoals de naam, het type materiaal en de prijs.
Mogelijke uitwerking van de casus
public class Meubel{ public string Naam { get; set; } public string Materiaal { get; set; } public decimal Prijs { get; set; } public Meubel(string naam, string materiaal, decimal prijs) { Naam = naam; Materiaal = materiaal; Prijs = prijs; }}// GebruikMeubel stoel = new Meubel("Stoel", "Hout", 49.99m);Meubel tafel = new Meubel("Tafel", "Metaal", 129.99m);