Skip to main content

Hva er statiske variabler?

Statiske variabler, også kalt globale variabler, er data som ikke er tilknyttet en bestemt forekomst av en klasse.Bare en verdi for disse variablene kan eksistere uavhengig av antall klasseobjekter som opprettes.Avhengig av konteksten, kan statiske variabler være mer fleksible eller mer begrensende enn deres forekomstvariable kolleger, som har sine egne diskrete verdier for alle spesifikke objekter av en klassetype.I objektorienterte programmeringsspråk, dikterer god programmeringspraksis vanligvis at bruk av statiske objekter, metoder eller variabler holdes på et minimum, men de har nyttige applikasjoner.

En hovedårsak til at statiske variabler anses som begrensende til tider er fordiIkke mer enn en verdi kan noen gang eksistere for en variabel.Enhver tildeling til variabelen overskriver den forrige, og all informasjon i forrige verdi går tapt.Uten flere kopier av variabelen kan ikke flere dataverdier lagres.Hvis verdien endres, må hvert objekt som det påvirker fungere med den nye verdien, og hvis den gamle verdien ikke var ment å bli slettet, kan endringen vise seg å være skadelig for hvert forekomstobjekt for en bestemt klassetype.Med mindre variabelen på en eller annen måte er låst ved opprettelsen, kan risikoen for uventet endring og den påfølgende ødeleggelsen den føre til objekter fører tilrestriktiv.Selv om en variablerverdi ikke er låst, kan planlagte endringer i verdien ha positive effekter.En variabel som deles mellom alle objekter i en klasse er garantert å være konsistent og kan brukes både i og utenfor klassen med tillit til at verdien alltid er den samme.Variabler som er statiske har en rekke nyttige applikasjoner, spesielt for å opprettholde konstanter og implementering av serialisering.Spesielt Java er veldig avhengig av denne statiske serialiseringsmekanismen.

Det er visse generelle regler som programmerere ofte bruker mens de implementerer statiske variabler.Disse variablene fungerer vanligvis best som små dataverdier fordi store statiske objekter kan gjøre et program langt mer stivt enn det må være.Små dataverdier kan raskt og enkelt endres uten for mye frykt for å innføre feil.Store statiske objekter tar mer tid og krefter på å endre og er også mer utsatt for å få en feil som er introdusert som vil forstyrre alle klasseobjekter.Dette er retningslinjer, ikke uknuselige regler, og det kan være bruksområder for både små og store variabler, avhengig av programmet.