Hvad er en standardkonstruktør?

En standardkonstruktør er en specialiseret metode, der opretter og initialiserer et objekt i objektorienteret programmering. Der er flere slags konstruktører, men en standardkonstruktør skal opfylde et af to specifikke kriterier, ud over at oprette og initialisere et objekt. Det må enten ikke have nogen parametre, i hvilket tilfælde det også kunne kaldes en nullær konstruktør, eller den skal tildele standardværdier til alle parametre, den har evnen til at indstille. Nogle computersprog specificerer implicit en standardnulær konstruktør, hvis programmereren overhovedet ikke specificerer en konstruktør. Når enhver form for konstruktør er skrevet, er den standardnulære konstruktør ikke længere specificeret og skal eksplicit skrives om nødvendigt.

For computersprog, der tillader objektorienteret arv, skal standardkonstruktører i underklasser være nøjagtigt forbundet til konstruktører i superklasser. Underklasse -konstruktører skal altid kalde superklasse -konstruktører, før de gør noget specifikt for underklassen. jegn Nogle sprog, som Java®, en underklasse -konstruktør, der implicit kalder en superklasse -standardnulær konstruktør. Hvis en superklasse -standard -nullær konstruktør ikke findes, kan underklasseobjektet ikke bygges korrekt. Underklasser kan stadig have enten type standardkonstruktør i dette tilfælde, men en tilgængelig superklasse -konstruktør skal kaldes korrekt, måske ved at videregive den standardværdier unikke for underklassen.

Den implicitte generation af en standardnulær konstruktør har fordelen ved at reducere antallet af metoder, som en programmør skal specificere og dokumentere, men har også ulempen ved muligvis at gøre kodevedligeholdelse og forståelse vanskeligere. Nogle programmerere betragter undladelsen af ​​en standardkonstruktør som dårlig praksis, mens andre ikke gør det. Der er intet, der forhindrer en individuel programmør i at overholde nogen af ​​disse programmeringsmetoder, så inklusive en defAult Nullary Constructor i kode er stort set et stilistisk valg fra programmørens side. Hvis konstruktøren er inkluderet, dikterer de fleste tankeskoler, at den skal kommenteres og dokumenteres, ligesom enhver anden konstruktør eller metode ville være.

Enhver standardkonstruktør kan have adgangsmodifikatorer knyttet til den, hvilket gør konstruktøren offentlig, beskyttet eller privat. Dette giver konstruktørens specifikke evner baseret på den klasse, den er specificeret i. En offentlig standardkonstruktør kan bruges til at oprette et nyt objekt fra en anden klasse, mens en beskyttet konstruktør kun kan kaldes fra sin egen klasse og eventuelle underklasser. Beskyttede standardkonstruktører ses ofte i et arvshierarki. Privatkonstruktører anvendes normalt kun i selvstændige klasser, hvor en eller anden form for fabriksmetode er tilgængelig til at kalde den snarere end programmereren.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?