NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 10 - Statika

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Daniel Šup
Člen
Avatar
Daniel Šup:1.8.2017 12:33

Zdravím,

v článku je zmíněno, že třída může mít statický konstruktor a ve statickém konstruktoru můžeme vytvořit instance nějakých tříd a ukládat si je do statických atributů. Rád bych věděl, kdy je vhodné použít statický konstruktor. Zajímaly by mě nějaké vhodné příklady užití.
Do článku by podle mého názoru bylo vhodné doplnit, že statický konstruktor se volá před vytvořením první instance dané třídy. Jinak je článek velice kvalitní a problematika je zde srozumitelně popsána. :-)

 
Odpovědět
1.8.2017 12:33
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Daniel Šup
Ondřej Štorc:1.8.2017 13:52

Statický konstruktor se hodí když chceš připravit statické proměnné před prvním použitím oné třídy. Například si načíst data z app.configu, připravit si nějaký logger atd. Dále bych tě jen doplnil že se nevolá jen u vytvoření první instance třídy, ale i u dotazování na nějakou statickou proměnou či metodu.

Odpovědět
+1
1.8.2017 13:52
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Daniel Šup
Člen
Avatar
Odpovídá na Ondřej Štorc
Daniel Šup:1.8.2017 14:02

Ahoj,

velice ti děkuji za odpověď. Díky za doplnění, že statický konstruktor se volá i před dotazováním na statickou proměnnou či metodu. :-) Tohle mi při psaní příspěvku uniklo.

 
Odpovědět
1.8.2017 14:02
Avatar
Pavel Skála
Člen
Avatar
Pavel Skála:3.9.2017 13:51

Ahoj,
nevim, zda se sem jeste nekdou koukne, ale zkusim to.
Proc bych mel chtit vytvaret static class, ze ktere nemohu dedit? Je duvod, proc bych nemel vytvaret class, kde vse je staticke, ale samotna class neni? Ve svem programu jsem takovych class vyuzival jako pomocnych -- mel jsem class Fighter a potomka Mage, k tomu pomocne class CreateFighter a potomka CreateMage (ktereho bych mit nemohl, kdybych class CreateFighter oznacil jako static), kde jsem v podstate jen vypisoval na konzoli, nacital z konzole a ukladal do promeny, ktere jsem pak predal dal.
Sam si dovedu predstavit, ze se bez tech pomocnych trid da obejit, ale v tu chvili se mi to zdalo jako nejprehlednejsi reseni.

Editováno 3.9.2017 13:53
 
Odpovědět
3.9.2017 13:51
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Pavel Skála
Ondřej Štorc:3.9.2017 15:33

Tak dá se to využít například při tvorbě pomocný metod, která nevyžadují, či je nesmyslné vytvářet jejich instance. Krásným příkladem je například třída System.Math.
Jinak je statická třída vyžadována při tvorbě rozšířujících metod: https://docs.microsoft.com/…sion-methods

Odpovědět
+2
3.9.2017 15:33
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Pavel Skála
Člen
Avatar
 
Odpovědět
5.9.2017 12:35
Avatar
Richard Jakubec:20.9.2017 13:53

Mám se tedy tomu věnovat, když to mám spíše nepoužívat?

 
Odpovědět
20.9.2017 13:53
Avatar
Odpovídá na Richard Jakubec
Michal Štěpánek:20.9.2017 14:39

Samozřejmě, že se tomu máš věnovat, protože čas od času je třeba to použít...
Minimálně bys měl vědět, že něco takového existuje a jak to máš použít (když to bude nevyhnutelné)...

Odpovědět
20.9.2017 14:39
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Richard Jakubec:20.9.2017 15:42

tak dík, pročtu si to teda :-)

 
Odpovědět
20.9.2017 15:42
Avatar
Dušan Kovářík:24.6.2018 18:58

Když jsem kdysi četl základy C++ nebo Javy v knihách, tak tam vždy bylo o statických metodách a proměnných třídy pojednáno. Ale co se týká toho opravdu důležitého - totiž poznámek, které David Čápka zdůraznil, kdy je vhodné statiku použít a kdy je to naopak silně nevhodné až kontraproduktivní, tak v těch knihách ticho po pěšině :) No a pak jsem v tom měl vždy zmatek - nevěděl jsem, kdy něco udělat statické a kdy instanci...moje aplikace podle toho vypadaly a troufám si říci, že tento zmatek byl i jednou z příčin, které mě docela otrávily do dalšího pokračování ve svém vlastním zdokonalování. Proto moc děkuji za tento tutoriál! Je to poprvé, kdy někde čtu, v jakých situacích statika ano, v jakých ne a proč!

 
Odpovědět
+6
24.6.2018 18:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 40.