Skip to main content

Co jsou statické proměnné?

Statické proměnné, také nazývané globální proměnné, jsou kusy dat, které nejsou spojeny s konkrétním příkladem třídy.Pouze jedna hodnota pro tyto proměnné může existovat bez ohledu na počet vytvořených objektů třídy.V závislosti na kontextu mohou být statické proměnné buď flexibilnější nebo restriktivnější než jejich instance proměnné protějšky, které mají své vlastní diskrétní hodnoty pro každý konkrétní objekt typu třídy.V programovacích jazycích orientovaných na objekt, dobrá programovací praxe obvykle diktuje, že použití statických objektů, metod nebo proměnných je udržováno na minimu, ale mají užitečné aplikace.

Jedním z hlavních důvodů, proč statické proměnné jsou občas považoványPro proměnnou nikdy nemůže existovat více než jedna hodnota.Jakékoli přiřazení k proměnné přepíše předchozí a jakékoli informace v předchozí hodnotě jsou ztraceny.Bez více kopií proměnné nelze uložit více dat.Pokud se hodnota změní, musí každý objekt, který ovlivňuje, fungovat s novou hodnotou, a pokud by se stará hodnota neměla být odstraněna, mohla by se změna ukázat škodlivá pro každý instanci objektu konkrétního typu třídy.Pokud proměnná není nějakým způsobem uzamčena při tvorbě, riziko neočekávané změny a následného chaosu by mohlo způsobit, že někteří programátoři, aby se zabránili statickým proměnným, kdykoli je to možné.restriktivní.I když hodnota proměnných není uzamčena, plánované změny v jeho hodnotě mohou mít pozitivní účinky.Je zaručena proměnná, která je sdílena mezi všemi objekty třídy, a může být použita uvnitř i vně třídy s jistotou, že její hodnota je vždy stejná.Proměnné, které jsou statické, mají řadu užitečných aplikací, zejména při údržbě konstant a implementace serializace.Zejména Java se velmi spoléhá na tento statický serializační mechanismus.

Existují určitá obecná pravidla, která programátoři často používají při implementaci statických proměnných.Tyto proměnné obvykle fungují nejlépe jako malé hodnoty dat, protože velké statické objekty mohou učinit program mnohem rigidnější, než musí být.Hodnoty malých dat lze rychle a snadno změnit bez přílišného strachu z zavedení chyb.Velké statické objekty vyžadují více času a úsilí na změnu a jsou také náchylnější k zavedení chyby, která by narušila všechny objekty třídy.To jsou pokyny, nikoli nerozbitné pravidla, a v závislosti na programu mohou existovat použití jak pro malé i velké proměnné.