Kaj je spremenljivka primerka?

Spremenljivka primerka je del podatkov v objektno usmerjenem programiranju, ki ima svojo edinstveno vrednost za vsak predmet, v katerem se nahaja. Spremenljivke primerka se lahko imenujejo tudi člani primerka, nestatična polja in podatkovni člani. So pomemben del večine predmetov, saj vsebujejo posebne podatke, ki jih objekt uporablja za izračun.
Na primer, če obstajata dva predmeta, A in B, kjer ima objekt A spremenljivko primerka, imenovano “blah”, in objekt B ima tudi spremenljivko primerka, imenovano “blah”, sta obe spremenljivki “blah” različni entiteti. Vsaka spremenljivka je povezana s predmetom, ki jo kapsulira. Polno ime spremenljivke »blah«, povezane s predmetom A, je »A.blah«, medtem ko je polno ime spremenljivke »blah«, povezane s predmetom B, »B.blah«. Vsaka, če te spremenljivke, ima lahko svojo vrednost. Če sta predmeta A in B istega tipa in je ustvarjen drug objekt te vrste, C, bo imel objekt C tudi spremenljivko primerka “blah”, ki ima lahko svojo edinstveno vrednost.

Spremenljivke primerka se pogosto zamenjujejo s statičnimi spremenljivkami, vendar se obe bistveno razlikujeta. V nasprotju s spremenljivkami primerkov, od katerih ima vsak objekt določene vrste svojo lastno, imajo statične spremenljivke samo eno vrednost in ta vrednost je enaka za vsak objekt ustrezne vrste. Statične spremenljivke se pogosto imenujejo spremenljivke razreda, ki niso enake spremenljivkam primerka.

Odvisno od lastnosti vidnosti, ki so jim dodeljene, so spremenljivke primerka lahko vidne samo znotraj določenega predmeta, za objekt in njegove podrazrede ali za objekt, v katerem se nahajajo, kot tudi za vse druge objekte. Ta zadnja vrsta vidnosti, imenovana javna vidnost, se pogosto šteje za slabo prakso, na primer za spremenljivke, ker je v objektno usmerjenem programiranju enostavno kršiti načela inkapsulacije. Kljub temu tabuju so včasih uporabne spremenljivke javnega primerka. Na primer, številni standardni razredi v Javi imajo spremenljivke javnega primerka, kar včasih omogoča enostavno spreminjanje lastnosti.

Vidnost spremenljivke primerka pride v poštev tudi pri dedovanju. Če en razred podeduje od drugega, to obema razredoma ne omogoči takoj dostopa do spremenljivk primerka drug drugega. Spremenljivke zasebnega primerka v nadrazredu in podrazredu ostanejo omejene samo na te razrede, zato nadrazred ne more videti zasebne spremenljivke v podrazredu in obratno. Edine spremenljivke primerka, ki jih lahko vidita tako nadrazred kot podrazred, so zaščitene spremenljivke v nadrazredu.