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. Den må enten ikke have nogen parametre, i hvilket tilfælde den også kan kaldes en nulkonstruktør, eller den skal tildele standardværdier til alle parametre, den har muligheden for at indstille. Nogle computersprog specificerer implicit en standard nulkonstruktør, hvis programmereren overhovedet ikke angiver en konstruktør. Når en hvilken som helst type konstruktør er skrevet, er standardnulkonstruktøren ikke længere specificeret og skal udtrykkeligt 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. På nogle sprog, som Java®, kalder en underklasse-konstruktør implicit en superklasse-standard nullary konstruktør. Hvis en superklasse-standard-nulkonstruktør ikke findes, kan subklasse-objektet ikke bygges korrekt. Underklasser kan stadig have en hvilken som helst 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, der er unikke for underklassen.

Den implicitte generering af en standard-nulkonstruktør har fordelen ved at reducere antallet af metoder, som en programmerer skal specificere og dokumentere, men har også den ulempe, at det muligvis vanskeliggør kodevedligeholdelse og -forståelse. Nogle programmerere anser udeladelsen af ​​en standardkonstruktør for at være 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å det er stort set et stilistisk valg fra programmereren at indbefatte en standard-nulkonstruktør i kode. 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øren specifikke evner baseret på den klasse, hvori den er specificeret. 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 arvehierarki. Private konstruktører anvendes normalt kun i selvstændige klasser, hvor en eller anden type fabriksmetode er tilgængelig til at kalde det, 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?