Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 11. diel - Statika

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
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. :-)

Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovedá 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.

Odpovedať
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Daniel Šup
Člen
Avatar
Odpovedá 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.

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.

Editované
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovedá 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

Odpovedať
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Richard Jakubec:20.9.2017 13:53

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

Avatar
Odpovedá 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é)...

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

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

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č!

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 41.