Skip to main content

Hva er en standardkonstruktør?

En standardkonstruktør er en spesialisert metode som oppretter og initialiserer et objekt i objektorientert programmering.Det er flere typer konstruktører, men en standardkonstruktør må oppfylle ett av to spesifikke kriterier, i tillegg til å opprette og initialisere et objekt.Det må enten ikke ha noen parametere, i hvilket tilfelle det også kan kalles en nullkonstruktør, eller den må tilordne standardverdier til alle parametere den har muligheten til å angi.Noen dataspråk spesifiserer implisitt en standard nullary konstruktør hvis programmereren ikke spesifiserer en konstruktør i det hele tatt.Når noen form for konstruktør er skrevet, er standard nullary konstruktør ikke lenger spesifisert, og må eksplisitt skrives om nødvendig.

For dataspråk som tillater objektorientert arv, må standardkonstruktører i underklasser være nøyaktig koblet til konstruktører i superklasser.Underklasse -konstruktører må alltid ringe superklasse -konstruktører før de gjør noe spesifikt for underklassen.På noen språk, som Java , kaller en underklasse -konstruktør implisitt en superklasse standard nullary konstruktør.Hvis en superklasse standard nullary konstruktør ikke eksisterer, kan ikke underklasseobjektet bygges ordentlig.Underklasser kan fremdeles ha enten type standardkonstruktør i dette tilfellet, men en tilgjengelig superklasse -konstruktør må kalles riktig, kanskje ved å sende den standardverdier som er unike for underklassen.

Den implisitte generasjonen av en standard nullary konstruktør har fordelen av å redusere denAntall metoder En programmerer må spesifisere og dokumentere, men har også ulempen å muligens gjøre kodevedlikehold og forståelse vanskeligere.Noen programmerere anser utelatelse av en standardkonstruktør som dårlig praksis, mens andre ikke gjør det.Det er ingenting som forhindrer en individuell programmerer i å overholde noen av disse programmeringsmetodene, så inkludert en standard nullary konstruktør i kode er i stor grad et stilistisk valg fra programmereren.Hvis konstruktøren er inkludert, dikterer de fleste tankeskoler at den skal kommenteres og dokumenteres akkurat som enhver annen konstruktør eller metode vil være.

Enhver standardkonstruktør kan ha tilgangsmodifiserere knyttet til den, noe som gjør konstruktøren offentlig, beskyttet eller privat.Dette gir konstruktørens spesifikke evner basert på klassen den er spesifisert i.En offentlig standardkonstruktør kan brukes til å lage et nytt objekt fra en annen klasse, mens en beskyttet konstruktør bare kan kalles fra sin egen klasse og eventuelle underklasser.Beskyttede standardkonstruktører sees ofte i et arvehierarki.Private konstruktører er vanligvis bare ansatt i selvstendige klasser, der en type fabrikkmetode er tilgjengelig for å kalle det, i stedet for programmereren.