Wat zijn statische variabelen?

Statische variabelen, ook wel globale variabelen genoemd, zijn stukjes gegevens die niet zijn aangesloten bij een bepaald exemplaar van een klasse. Slechts één waarde voor deze variabelen kan bestaan, ongeacht het aantal gecreëerde klasseobjecten. Afhankelijk van de context kunnen statische variabelen flexibeler of restrictiever zijn dan hun instantievariabele tegenhangers, die hun eigen discrete waarden hebben voor elk specifiek object van een klassentype. In objectgeoriënteerde programmeertalen dicteert een goede programmeerpraktijk meestal dat het gebruik van statische objecten, methoden of variabelen tot een minimum wordt beperkt, maar ze hebben wel nuttige toepassingen.

Een belangrijke reden dat statische variabelen soms beperkend worden omdat niet meer dan één waarde ooit kan bestaan ​​voor een variabele. Elke opdracht aan de variabele overschrijft de vorige en alle informatie in de vorige waarde gaat verloren. Zonder meerdere kopieën van de variabele kunnen meerdere gegevenswaarden niet worden opgeslagen. Als de waardewordt gewijzigd, elk object dat het beïnvloedt, moet werken met de nieuwe waarde, en als de oude waarde niet bedoeld was om te worden verwijderd, kan de verandering schadelijk blijken te zijn voor elk exemplaarobject van een bepaald klassentype. Tenzij de variabele op de een of andere manier wordt vergrendeld bij het maken, zorgt het risico op onverwachte verandering en de daaropvolgende schade aan die het kan aanrichten op objecten, waardoor sommige programmeurs waar mogelijk statische variabelen vermijden.

Statische variabelen kunnen soms als flexibel worden beschouwd om dezelfde reden dat ze beperkend kunnen worden genoemd. Zelfs als de waarde van een variabele niet wordt vergrendeld, kunnen geplande wijzigingen in de waarde ervan positieve effecten hebben. Een variabele die wordt gedeeld met alle objecten van een klasse is gegarandeerd consistent en kan zowel binnen als buiten de klas worden gebruikt met vertrouwen dat de waarde ervan altijd hetzelfde is. Variabelen die statisch zijn, hebben verschillende nuttige toepassingen, met name bij het onderhoud van COnStants en implementatie van serialisatie. Vooral Java is sterk afhankelijk van dit statische serialisatiemechanisme.

Er zijn bepaalde algemene regels die programmeurs vaak gebruiken bij het implementeren van statische variabelen. Deze variabelen werken meestal het beste als kleine gegevenswaarden, omdat grote statische objecten een programma veel rigide kunnen maken dan het moet zijn. Kleine gegevenswaarden kunnen snel en gemakkelijk worden gewijzigd zonder al te veel angst om fouten te introduceren. Grote statische objecten kosten meer tijd en moeite om te veranderen en zijn ook meer vatbaar voor een fout die alle klassenobjecten zou verstoren. Dit zijn richtlijnen, geen onbreekbare regels, en er kunnen toepassingen zijn voor zowel kleine als grote variabelen, afhankelijk van het programma.

ANDERE TALEN