Co to są zmienne statyczne?

Zmienne statyczne, zwane również zmiennymi globalnymi, są elementami danych, które nie są powiązane z konkretnym przykładem klasy. Tylko jedna wartość dla tych zmiennych może istnieć niezależnie od liczby tworzonych obiektów klasowych. W zależności od kontekstu zmienne statyczne mogą być bardziej elastyczne lub bardziej restrykcyjne niż ich odpowiedniki zmiennych instancji, które mają własne dyskretne wartości dla każdego konkretnego obiektu typu klasy. W językach programowania zorientowanych obiektowo dobra praktyka programowania zwykle decyduje, że użycie statycznych obiektów, metod lub zmiennych jest ograniczone do minimum, ale mają one przydatne zastosowania.

Jednym z głównych powodów, dla których zmienne statyczne są uważane za ograniczające czasy, ponieważ nie więcej niż jedna wartość może istnieć dla zmiennej. Wszelkie przypisanie do zmiennej zastępuje poprzedni, a wszelkie informacje w poprzedniej wartości są utracone. Bez wielu kopii zmiennej nie można przechowywać wielu wartości danych. Jeśli wartośćjest zmieniany, każdy obiekt, który wpływa, musi działać z nową wartością, a jeśli stara wartość nie miała zostać usunięta, zmiana może okazać się szkodliwa dla każdego obiektu instancji określonego typu klasy. O ile zmienna nie zostanie w jakiś sposób zablokowana przy stworzeniu, ryzyko nieoczekiwanej zmiany i późniejsze spustoszenie, które może napić się na obiektach, powoduje, że niektórzy programistowie unikają zmiennych statycznych w miarę możliwości.

.

.

Zmienne statyczne można czasem uznać za elastyczne z tego samego powodu, dla którego można je nazwać restrykcyjnym. Nawet jeśli wartość zmiennej nie jest zablokowana, planowane zmiany jej wartości mogą mieć pozytywne efekty. Zmienna, która jest udostępniona między wszystkimi obiektami klasy, gwarantuje, że jest spójna i może być używana zarówno w klasie, jak i poza nią z pewnością, że jej wartość jest zawsze taka sama. Zmienne, które są statyczne, mają wiele przydatnych aplikacji, w szczególności w utrzymaniu Cna przestrzeni serializacji. W szczególności Java w dużej mierze opiera się na tym statycznym mechanizmie serializacji.

Istnieją pewne ogólne zasady, których programiści często używają podczas wdrażania zmiennych statycznych. Zmienne te zwykle działają najlepiej jako małe wartości danych, ponieważ duże obiekty statyczne mogą sprawić, że program może sprawić, że program jest o wiele bardziej sztywny niż musi. Małe wartości danych można szybko i łatwo zmieniać bez zbytniego strachu przed wprowadzeniem błędów. Duże obiekty statyczne wymagają więcej czasu i wysiłku, aby się zmienić, a także są bardziej podatne na wprowadzenie błędu, który zakłóciłby wszystkie obiekty klasowe. Są to wytyczne, a nie niezniszczalne reguły, i mogą istnieć zastosowania zarówno dla małych, jak i dużych zmiennych, w zależności od programu.

INNE JĘZYKI