Skip to main content

Wat is een standaardconstructor?

Een standaardconstructor is een gespecialiseerde methode die een object maakt en initialiseert in objectgeoriënteerde programmering.Er zijn meerdere soorten constructors, maar een standaardconstructor moet voldoen aan een van de twee specifieke criteria, naast het maken en initialiseren van een object.Het moet ofwel geen parameters hebben, in welk geval het ook een nullaire constructor kan worden genoemd, of het moet standaardwaarden toewijzen aan alle parameters die het in staat heeft.Sommige computertalen geven impliciet een standaard nullaire constructor op als de programmeur helemaal geen constructor opgeeft.Zodra elk type constructor is geschreven, is de standaard nullaire constructor niet langer gespecificeerd en moet expliciet worden geschreven indien nodig.

Voor computertalen die objectgeoriënteerde overerving mogelijk maken, moeten standaardconstructors in subklassen nauwkeurig zijn verbonden met constructors in superclasses.Subklasse constructeurs moeten altijd superclass -constructeurs oproepen voordat ze iets specifieks voor de subklasse doen.In sommige talen, zoals Java , roept een subklasconstructor impliciet een standaard nullary -constructor op een superclass.Als een standaardnullaire constructor van de superclass niet bestaat, kan het subklasobject niet correct worden gebouwd.Subklassen kunnen in dit geval nog steeds een type standaardconstructor hebben, maar een beschikbare superclass -constructor moet correct worden aangeroepen, misschien door het door te geven standaardwaarden die uniek zijn voor de subklasAantal methoden die een programmeur moet specificeren en documenteren, maar heeft ook het nadeel dat codeonderhoud en -begrip mogelijk moeilijker worden.Sommige programmeurs beschouwen het weglaten van een standaardconstructor als een slechte praktijk, terwijl anderen dat niet doen.Er is niets dat voorkomt dat een individuele programmeur zich aan een van deze programmeermethoden houdt, dus het opnemen van een standaard nullanke constructor in code is grotendeels een stilistische keuze van de kant van de programmeur.Als de constructor is opgenomen, dicteren de meeste denkrichtingen dat deze moet worden becommentarieerd en gedocumenteerd, net zoals elke andere constructor of methode zou zijn.

Elke standaardconstructor kan toegang tot modificaties hebben, waardoor de constructor openbaar, beschermd of privé is.Dit geeft de constructor specifieke vaardigheden op basis van de klasse waarin deze is opgegeven.Een openbare standaardconstructor kan worden gebruikt om een nieuw object uit een andere klasse te maken, terwijl een beschermde constructor alleen kan worden aangeroepen vanuit zijn eigen klasse en eventuele subklassen.Beschermde standaardconstructeurs worden vaak gezien in een erfenishiërarchie.Particuliere constructeurs worden meestal alleen gebruikt in zelfstandige klassen, waar een soort fabrieksmethode beschikbaar is om het te noemen, in plaats van de programmeur.