NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 4 - Hrací kostka v C# - Zapouzdření a konstruktor

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
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Odpovídá na krepsy3
Miroslav Mazal:15.8.2018 22:52

Myslím, že ano. Zapouzdření se netýká nějakého programátora, který si otevře script programu, ale uživatelského rozhraní. Nebo tak nějak, že? No musím to stále dokola projíždět v hlavě, abych to začal "vidět" očima programátorské logiky a né logikou českého jazyka..

Avatar
Odpovídá na krepsy3
Miroslav Mazal:15.8.2018 23:11

Když bych teď třeba psal program dále, a snažil jsem se někde později dát kostce "desetistena" např.parametr 8, tak to již program nedovolí. Je to tak?

Avatar
Odpovídá na Miroslav Mazal
Michal Haňáček:16.8.2018 7:03

Ahoj, je to tak.

Nejreálnější příměr je asi v reálné hrací kostce např. ze dřeva. Když někdo vyrábí kostku, ví předem že bude šestistenná a takovou jí udělá. Deseti, nebo čtyř stenou z ní potom také už neuděláš ... (jako víme že kde se vůle, tam je cesta a pilka svede ledasco, ale ... :-D ) a přesně pro stejný účel je v tomto případě konstruktor.

Odpovědět
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Miroslav Mazal
Josef Horváth:16.8.2018 7:07

Ano, přesně tak. Díky zapouzdření objekt ochráníš proti nechtěným změnám. Atribut se v konstruktoru nastaví pouze jednou a víc se nemění.
Tím tedy zakážeš toto:

sestistenna.pocetSten = 10

A už se ti nestane, že po hodu šestistěnnou kostkou padne třeba číslo 9.

Obdobný příklad:

Auto cerveneAuto = new Auto(„cervena“);
cerveneAuto.barva = „modrá“;

Pokud bude atribut barva „private“, pak ti kousek kódu se změnou barvy neprojde. U menších projektů takovou blbost asi sám nenapíšeš, ale u větších a složitějších aplikací, už to tak jasné být nemusí. Proto nevystavuj ven nic, co už nebude třeba měnit! Když bys přece jen potřeboval zpřístupnit atribut zvenčí, použiješ k tomu vlastnost, ale o té se dozvíš až v lekci 10 – Vlastnosti. Proto vytrvej v tutoriálech a ono už ti to do sebe pak hezky zapadne.

Avatar
Miroslav Mazal:16.8.2018 18:51

Next nám vygeneruje jedno z čísel v posloupnosti, kterou si zvolíme. Třeba 2-7, ale co když si chceme sami definovat jaká čísla budou na šesti stranách? Třeba kostku s čísly 2, 3, 3, 4, 4, 5 ?

Avatar
Marek Uhlik
Člen
Avatar
Odpovídá na Miroslav Mazal
Marek Uhlik:16.8.2018 19:07

Vytvoříš si pole hodnot co ta kostka může mít, a to co hodíš bude hodnota pole s náhodně vygenerovanym indexem

public int hod()
{
        int[] hodnoty = {2,3,3,4,4,5};
        return random.Next(0, pocetSten);
}
Avatar
Marek Uhlik
Člen
Avatar
Marek Uhlik:16.8.2018 19:12

Tenhle return tam teda má bejt

return hodnoty[random.Next(0, pocetSten)];
Avatar
Miroslav Mazal:16.8.2018 20:01

Díky. Já jsem právě přemýšlel, jak ale generátor ví, že má vybírat z daných hodnot. Teď jsi mi to sám vysvětlil.

Avatar
Jiří Mancl
Člen
Avatar
Jiří Mancl:7.7.2019 10:38

Ahoj. Mám dotaz ohledně IntelliSense. Kde si nastavím rozšířenou nápovědu jako je v ukázce?
Mě se ukazuje pouze nějaká ořezaná. Přiložil jsem obrázky pro lepší pochopení. Díky

Avatar
Jakub Švasta
Lektor
Avatar
Odpovídá na Jiří Mancl
Jakub Švasta:7.7.2019 22:25

Ty popisky generuje automaticky Visual Studio podle toho, co napíšeš do dokumentace. Nad konstruktor přidej

/// <summary>
/// Vytvoří novou instanci hrací kostky
/// </summary>
/// <param name="pocetSten">Počet stěn hrací kostky</param>

Koukám, že v článku zrovna u konstruktoru tohle chybí, asi by bylo dobré to do něj doplnit.

Nejnovější komentáře jsou na konci poslední stránky.
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 159.