NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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 3 - Hrací kostka v C# - Zapouzdření, konstruktor a Random

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
Robert
Člen
Avatar
Robert:3.11.2016 13:31

Aký rozdiel je medzi metódou ToString() a Console.Write­Line("Kocka s {0} stenami.", sesthran.Vrat­PocetStien()); ? Efekt je rovnaký

 
Odpovědět
3.11.2016 13:31
Avatar
Robert
Člen
Avatar
Odpovídá na vfsdfsdfdsf
Robert:3.11.2016 14:08

Takže pomôže len dať tam sleep?

 
Odpovědět
3.11.2016 14:08
Avatar
Odpovídá na Robert
Michal Štěpánek:3.11.2016 17:51

Napsal jsi ten dotaz trochu nešťastně. Metoda "ToString()" vrací textovou reprezentaci objektu, kdežto

Console.WriteLine("Kocka s {0} stenami.", sesthran.VratPocetStien())

vypíše, kolik má daná kostka stěn...

Odpovědět
3.11.2016 17:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Pavel Šrytr
Člen
Avatar
Odpovídá na Robert
Pavel Šrytr:17.12.2016 13:31

metoda ToString() navrátí text, kdežto Console.Write­Line("") vrátí výstup na konzoli

 
Odpovědět
17.12.2016 13:31
Avatar
BluPri
Člen
Avatar
BluPri:26.3.2017 17:53

Ahoj, chtěl bych se zeptat, mohl by mi někdo prosím názorně vysvětlit následující text:

Dejte si pozor, abyste netvořili generátor náhodných čísel v metodě, která má náhodné číslo vracet, tedy že by se pro každé náhodné číslo vytvořil nový generátor. Výsledná čísla pak nejsou téměř náhodná nebo dokonce vůbec. Vždy si vytvořte jednu sdílenou instanci generátoru (např. do privátního atributu pomocí konstruktoru) a na té potom metodu Next() volejte.

Ps: Ukázka by byla dobrá :-)

 
Odpovědět
26.3.2017 17:53
Avatar
Jakub Vanko
Člen
Avatar
Odpovídá na BluPri
Jakub Vanko:26.3.2017 22:35

Ja som to pochopil tak, že ide o to, aby si nevytvoril pri každom volaní metódy novú instanciu triedy random

//Toto je zle
public class Kocka
{
        private Random random;

        public int hod()
        {
                random = new Random();
                return random.Next(1, pocetSten + 1);
        }
}

Ale namiesto toho si máš vytvoriť jednu instanciu tejto triedy (napr. v konstruktore) a tú používať pri každom volaní tejto metódy

//A takto by to malo byť správne
public class Kocka
{
        private Random random;

        public Kocka()
        {
                random = new Random();
        }

        public int hod()
        {
                return random.Next(1, pocetSten + 1);
        }
}
 
Odpovědět
26.3.2017 22:35
Avatar
BluPri
Člen
Avatar
Odpovídá na Jakub Vanko
BluPri:27.3.2017 15:59

Díky, už to chápu :-)

 
Odpovědět
27.3.2017 15:59
Avatar
Vít Nekula
Člen
Avatar
Vít Nekula:8.6.2017 12:43

Chtěl bych se zeptat, proč hned na začátku je ve třídě kostka:

/// <summary>
/// Generátor náhodných čísel
/// </summary>
private Random random;

Co si tím docílíme? Určitě to je primitvní otázka, ale v objektech a v C# se teprve začínám orientovat, takže mě prosím omluvte.

 
Odpovědět
8.6.2017 12:43
Avatar
Vít Nekula
Člen
Avatar
Odpovídá na Vít Nekula
Vít Nekula:8.6.2017 12:54

Omlouvám se... stačí si to 10x přečíst a projít a člověk to pochopí...

 
Odpovědět
8.6.2017 12:54
Avatar
Jan Troják
Člen
Avatar
Jan Troják:22.7.2017 11:41

Ahoj,
mám dotaz.

Proč toto nefunguje?

pocetSten = this.pocetSten;

A toto ano?

this.pocetSten = pocetSten;
 
Odpovědět
22.7.2017 11:41
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 154.