Skip to main content

Hvad er statiske variabler?

Statiske variabler, også kaldet globale variabler, er stykker af data, der ikke er tilknyttet et bestemt eksempel på en klasse.Kun en værdi for disse variabler kan eksistere uanset antallet af klasseobjekter, der oprettes.Afhængig af konteksten kan statiske variabler være enten mere fleksible eller mere restriktive end deres forekomstvariable kolleger, som har deres egne diskrete værdier for hvert specifikt objekt for en klassetype.På objektorienterede programmeringssprog dikterer god programmeringspraksis normalt, at brugen af statiske objekter, metoder eller variabler holdes til et minimum, men de har nyttige anvendelser.

En væsentlig årsag til, at statiske variabler betragtes som restriktive til tider, er fordiIkke mere end en værdi kan nogensinde eksistere for en variabel.Enhver opgave til variablen overskriver den foregående, og enhver information i den forrige værdi går tabt.Uden flere kopier af variablen kan flere dataværdier ikke gemmes.Hvis værdien ændres, skal ethvert objekt, som det påvirker, fungere med den nye værdi, og hvis den gamle værdi ikke var beregnet til at blive slettet, kan ændringen vise sig at være skadelig for alle tilfælde af en bestemt klassetype.Medmindre variablen på en eller anden måde er låst ved skabelsen, kan risikoen for uventet ændring og den efterfølgende ødelæggelse detrestriktiv.Selv hvis en variablerværdi ikke er låst, kan planlagte ændringer i dens værdi have positive effekter.En variabel, der deles mellem alle genstande i en klasse, er garanteret at være konsekvent og kan bruges både inden for og uden for klassen med tillid til, at dens værdi altid er den samme.Variabler, der er statiske, har en række nyttige applikationer, især i vedligeholdelse af konstanter og implementering af serialisering.Især Java er meget afhængig af denne statiske serialiseringsmekanisme.

Der er visse generelle regler, som programmerere ofte bruger, mens de implementerer statiske variabler.Disse variabler fungerer normalt bedst som små dataværdier, fordi store statiske objekter kan gøre et program langt mere stift, end det skal være.Små dataværdier kan hurtigt og let ændres uden for meget frygt for at indføre fejl.Store statiske objekter tager mere tid og kræfter på at ændre sig og er også mere tilbøjelige til at få en fejl introduceret, der ville forstyrre alle klasseobjekter.Dette er retningslinjer, ikke uknuselige regler, og der kan være anvendelser til både små og store variabler, afhængigt af programmet.