Wat zijn statische variabelen?

Statische variabelen, ook wel globale variabelen genoemd, zijn stukjes gegevens die niet zijn gekoppeld aan een bepaalde instantie van een klasse. Er kan slechts één waarde voor deze variabelen bestaan, ongeacht het aantal klasseobjecten dat wordt gemaakt. Afhankelijk van de context, kunnen statische variabelen flexibeler of restrictiever zijn dan hun tegenhangers van variabele exemplaren, die hun eigen discrete waarden hebben voor elk specifiek object van een klasse type. In objectgeoriënteerde programmeertalen schrijft goede programmeerpraktijk meestal voor 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 als beperkend worden beschouwd, is dat er nooit meer dan één waarde voor een variabele kan bestaan. Elke toewijzing aan de variabele overschrijft de vorige en alle informatie in de vorige waarde gaat verloren. Zonder meerdere kopieën van de variabele kunnen niet meerdere gegevenswaarden worden opgeslagen. Als de waarde wordt gewijzigd, moet elk object waarop het van invloed is, functioneren met de nieuwe waarde, en als de oude waarde niet bedoeld was om te worden verwijderd, zou de wijziging schadelijk kunnen zijn voor elk exemplaar van een bepaald klasse-type. Tenzij de variabele op de een of andere manier wordt vergrendeld bij het maken, zorgt het risico van onverwachte veranderingen en de daaropvolgende schade die het kan aanrichten op objecten ervoor dat sommige programmeurs statische variabelen waar mogelijk 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 is vergrendeld, kunnen geplande wijzigingen in de waarde ervan positieve effecten hebben. Een variabele die wordt gedeeld tussen alle objecten van een klasse is gegarandeerd consistent en kan zowel binnen als buiten de klasse worden gebruikt in het vertrouwen dat de waarde altijd dezelfde is. Variabelen die statisch zijn, hebben een verscheidenheid aan nuttige toepassingen, met name bij het onderhoud van constanten en de implementatie van serialisatie. Vooral Java is sterk afhankelijk van dit statische serialisatie-mechanisme.

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 rigider kunnen maken dan het moet zijn. Kleine gegevenswaarden kunnen snel en gemakkelijk worden gewijzigd zonder al te veel angst voor fouten. Grote statische objecten hebben meer tijd en moeite nodig om te veranderen en hebben ook meer kans op een fout die alle klasseobjecten 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

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?