.NET > Obecné
Slovo "Static"
erdt.martin:
Ahoj,
mam dalsi otazku. Uz jsem asi otravnej, ale rad se ucim. Mam nekolik knizek o programovani v C# (ted ctu jednu). Narazil jsem na Static. Nahledl jsem i do ostatnich knizek, ale beztak jsem nenasel zadne srozumitelne vysvetleni, proc pouzivat Static a jak pouzivat static. Koukal jsme se i na google, ale beztak... Mohl by to tu nekdo prosim rozepsat trosku vic srozumitelneji? I s priklady treba :) Dekuji
Mi.Chal.:
Static znamená, že daná vlastnost, metoda atd je vázaná na třídu, místo konkrétní instance. Takže pokud vyrobíš různé instance, tak budou hodnotu sdílet. Příklad je třeba počitadlo počtu vytvoření instancí - v konstruktoru budeš inkrementovat hodnotu property. Kdyby byla instanční, tak tam budeš mít na všech instancích 1. U statické se bude zvětšovat a pro všechny instance bude stejná.
Statické metody se často používají jako náhrada za funkce ve starších prg. jazycích. Třeba File.Exists() - můžeš to volat, aniž bys musel vyrábět instance File.
Morfeus:
--- Citace: Mi.Chal. 28-07-2012, 13:31:53 ---Třeba File.Exists() - můžeš to volat, aniž bys musel vyrábět instance File.
--- Konce citace ---
Trieda File je statická - z nej sa inštancia nedá vytvoriť. Mali ste na mysli zrejme triedu FileInfo, ktorá má vlastnosť Exists.
Mi.Chal.:
--- Citace: Morfeus 29-07-2012, 13:41:58 ---Trieda File je statická - z nej sa inštancia nedá vytvoriť. Mali ste na mysli zrejme triedu FileInfo, ktorá má vlastnosť Exists.
--- Konce citace ---
Neměl, psal jsem příklad statické metody. Jestli od File jdou vytvářet instance není v tomhle kontextu až tak podstatné, pointa byla v tom, že metodu může volat, aniž by ty instance vytvářet musel (a někdy je vytvářet ani nemůže).
Jinak máš samozřejmě pravdu.
erdt.martin:
A jaka je teda vyhoda v tom, ze vytvorim instanci?
Navigace
[0] Seznam témat
[#] Další strana
Přejít na plnou verzi