Een constructor initialiseert een object in objectgeoriënteerd programmeren. In veel programmeertalen heeft een constructor dezelfde naam als de klasse waarin hij het object maakt. Een programmeur declareert meestal een constructor binnen de klasse en definieert vervolgens de gegevenstypen waaruit het volgende object bestaat.
Veelvoorkomende soorten constructeurs
Standaard constructeurs: wat het programma automatisch invoegt als er geen constructor is gedefinieerd. Dit hangt af van de taal, maar meestal stelt een standaardconstructor alles in het nieuwe object in op de standaardwaarde (zoals 0) en definieert hij geen argumenten. Het kan ook standaardparameters instellen, maar wordt nog steeds als een standaardconstructor beschouwd.
Geparametriseerde constructor: heeft parameters die argumenten identificeren zodra een nieuw object is geïnitialiseerd. Het programma roept automatisch een constructor aan, die een programmeur ontwerpt met bepaalde parameters.
Kopieer constructor: maakt een nieuw object aan door een kopie te maken van een reeds bestaand object. Meestal moeten deze objecten zich in dezelfde klasse bevinden.
Conversie constructor: heeft geen specifieke (expliciete) verklaring; in plaats daarvan impliceert het programma de declaratie. Als een constructor slechts één parameter krijgt, kan het programma een object naar een andere klasse converteren of impliciet typen. Dit wordt ook wel een converterende constructor genoemd.
Verplaats constructor: draagt een pointer over naar verschillende gegevens of wijst de gegevens toe aan een ander object, in plaats van een kopieerconstructor te gebruiken. Het gegevenstype wordt verplaatst in plaats van gekopieerd.