Diskuze: Objektová kalkulačka
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 13 zpráv z 13.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Nejsi úplně na špatné cestě, ale. Bylo by lepší aby ti třída
poskytovala čistě Matematické operace a nejen jednu (Vypocitej()) ale
rozdělit to na Secti(),Odecti(),... každá by brala dva parametry (pro
začátek) a vracela výsledek. Veškeré vypisování a vstup od uživatele by
mělo být mimo tuto třídu, která jak jsem řekl, měla poskytovat pouze
výpočty. Dále tu máš dvě metody, které dělají totéž. Načtou vstup.
Udělej ji pouze jednou a vrať načtené číslo od uživatele. Jinak dobrý

Děkujim tohle jsem chtěl slyšet. Ještě než to začnu předělávat, chtěl bych se na něco zeptat. Píšeš, že veškeré vypisování a vstupy od uživatele by měly být mimo tuto třídu a o větu vedle píšeš, že bych měl udělat pouze jednu metodu na načtení vstupu. Měl bych tedy založit další třídu nebo to psát normálně do Main?
(omlouvám se, zapomněl jsem to dát jako odpověd 
No úplně nejlépe je oddělit logiku od výstupu, ale to se používá v
rozsáhlejších projektech. Tu metodu pro vstup můžeš klidně v té třídě
anebo si založit třídu třeba UI (jako user interface - uživatelské
rozhraní) a tam mít různé metody - vstup od uživatele, výpis apod. Ale to
je opět moc složitý. Takže v main vypisuj a volej akorát metody pro
výpočet a klidně si udělej i metodu pro vstup 
Když budeš v seriálu pokračovat, řeším tam i toto oddělení.
Teda trieda Vypocitaj() by mohla vyzerať nejak takto?
/// <summary>
/// Trieda reprezentuje základné matematické funkcie: sčítanie, odčítanie, násobenie, delenie a modulo
/// </summary>
class Vypocty
{
/// <summary>
/// Výpočet a + b
/// </summary>
/// <param nema="a">ľavé double číslo</param>
/// /// <param nema="b">pravé double číslo</param>
/// <returns>výpočet a + b</returns>
public double scitanie(double a, double b)
{
return (a + b);
}
/// <summary>
/// Výpočet a - b
/// </summary>
/// <param nema="a">ľavé double číslo</param>
/// /// <param nema="b">pravé double číslo</param>
/// <returns>výpočet a - b</returns>
public double odcitanie(double a, double b)
{
return (a - b);
}
/// <summary>
/// Výpočet a * b
/// </summary>
/// <param nema="a">ľavé double číslo</param>
/// /// <param nema="b">pravé double číslo</param>
/// <returns>výpočet a * b</returns>
public double nasobenie(double a, double b)
{
return (a * b);
}
/// <summary>
/// Výpočet a / b
/// </summary>
/// <param nema="a">ľavé double číslo</param>
/// /// <param nema="b">pravé double číslo</param>
/// <returns>výpočet a / b</returns>
public double delenie(double a, double b)
{
return (a / b);
}
/// <summary>
/// Výpočet a % b
/// </summary>
/// <param nema="a">ľavé double číslo</param>
/// /// <param nema="b">pravé double číslo</param>
/// <returns>výpočet a % b</returns>
public double modulo(double a, double b)
{
return (a % b);
}
}
Oprava, trieda Vypocty(), nie Vypocitaj().
Bavíme sa stále o úrovni 2. diel OOP. 
Ešte jedna oprava, namiesto name mám v popisoch nema, je to preklep, u seba som ho už opravil
Má význam na výber druhu výpočtu vytvárať samostatnú triedu? Alebo je lepšie nechať to v hlavnom programe?
Uvědom si že to bude vlastně dále použitelné, rozěiřitelné a nezávislé. Rozohdně lepší než to mít vnořené do nějaký IFů. Stačí připravit data jednou a poslat. Navíc takhle můžeš pohodlně ošetřit další věci
Skúsim to, ale práve tú rozšíriteľnosť a nezávislosť konkrétne v
tomto zatiaľ nevidím, pripadá mi, že to bude použiteľné iba v tomto
programe. Ešte uvidím.
Ešte nepremýšľam poriadne objektovo, učím sa.
Asi už chápem. Je to vlastne druh menu a takú triedu budem potrebovať
vždy. 
Zobrazeno 13 zpráv z 13.