Bruk av en standardkonstruktør C

Objektorientert programmering representerer en kode paradigme ment å organisere kode og lette utviklingen av kompliserte prosjekter. Sentralt i dette paradigmet er den "klasse". For at klassen å faktisk utføre sin funksjon, begrepet "konstruktøren" kommer i. Ved hjelp av konstruktøren, kan kompilatoren håndtere etableringen av objekter for programmereren. Selv om programmereren ikke definerer en konstruktør, vil kompilatoren bruke en standard, slik at programmereren ikke trenger å forholde seg til lav-nivå, komplisert programmering detaljer som for eksempel minnetildeling.

Klasser og objekter

I objektorientert programmering, er det sentrale konstruere den "klasse". Klassen fungerer som en blåkopi som "objekter", eller abstrakte datatyper, er opprettet. Gjennom en klasse, bestemmer programmerer hva slags data objektet vil inneholde, hvilke metoder den har, hvordan den er laget og hvordan den er ødelagt. En "ball" klasse kan inneholde et desimaltall som representerer en radius og et "område" metode for å beregne areal fra den radius. I hovedsak klassen avgjør hva objekter er og hva de gjør.

Constructors

En viktig del av enhver klasse er konstruktøren. Constructors spiller en viktig rolle i klassene fordi klassene selv representerer en ny datatype, opprettet av brukeren. I motsetning til "destructor", som bestemmer hva som skjer med et instansiert objekt når slettet, bestemmer konstruktøren hva som skjer med et objekt når instansiert. Konstruktører er bare påberopes når et objekt er instansiert, noe som betyr at programmerer bruker den "nye" søkeord og gir noen konstruktør argumenter i saken av tilpassede konstruktører.

Standard vs Custom Constructors

Constructors kommer i to varianter: skikk og standard. Standard konstruktør representerer den implisitte metoden som brukes av kompilatoren for å lage et objekt i minnet. Hvis programmereren definerer ingen spesielle konstruktører eller ikke omdefinere standard bruker kompilatoren standard konstruktør. Custom konstruktører er de som programmerer definerer spesielle handlinger kompilatoren bør ta når forekomster et objekt, slik som å gi interne klassemedlemmenes standard dataverdier eller fylle en intern datastruktur.

Nødvendigheten av standard Constructors

I hovedsak klasser representerer nye datatyper. En datamaskin har ingen måte å lagre disse datatypene "innfødt" i minne, så er standardkonstruktøren tildeler nok minne på en per-objekt basis avhengig av data og metoder en klasse inneholder. Denne underliggende aktiviteten gjør at programmerer å gi avkall på noen lavnivå ansvar ved utformingen klasser. Det betyr at hun kan enten la standard som er, vel vitende om at kompilatoren vil håndtere klasse bygging når forekomster objekter, eller hun kan endre standard til å utføre noen ekstra oppgaver vite det vil fortsatt håndtere lavt nivå minnetildeling.