Diskuze: Code in Csharp
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.


No, mas se jeste co ucit. Ale ano, uceny z nebe nespadl.
public bool Zije{get;set;}
dale je nepsane pravidlo, ale je to tzv. best practice - nazvy metod a vlast.
zacinam velkym pismenen.
4. Metoda ktera nic nevraci a nema zadny vstup je na h***o
to je ode mne vse,
Měl jsem problém pochopit, co jsi těmi radami myslel. Jurajs podle mne moc šancí na pochopení nemá.
Vlastnost Zije bych udělal zcela závislou na hodnotě atributu zivot.
Pomocí private se skrývají prvky, které nemají být veřejně přístupné. Objekt se tak může používat jen tím správným způsobem a nelze narušovat jeho vnitřní funkci, která je skrytá.
K hodně věcem, nejlépe to pochopíš z následujícího příkladu. Public položky jsou přístupné zvenčí objektu a tedy můžeš je libovolně měnit. Vem si následujcí příklad (podobný je i v tutoriálech)
class Clovek
{
public int vek;
public bool plnolety;
public Clovek(int vek)
{
this.vek=vek;
if(vek >=18) plnolety = true;
}
}
Když založíš instanci Clovek nastavíš mu pouze věk a bool plnolety se dopočítá sám.
Jenže, máme tu vlastně chybku. Oba atributy jsou public. Když později změním věk, třeba na 5, atribut plnolety se nezmění.
Proto se využívají Vlastnosti (gettery , settery) a proto také public a private
Ano bude a to je chyba v návrhu. Public atributy, lépe Vlastnosti ti umožní hlídat závislosti uvnitř objektu, uhlídat špatné nastavení apod. Tento problém by šle řešit několika způsoby
1. Metodou a atributy by byly privátní
private int vek;
private bool vek;
...
public void NastavVek(int vek)
{
...
}
Zde by se odehrávalo to samé co v kontruktoru.
2. Lepší řešení -> vlastnosti
Zde je spousta možností. Můžeš nastavit věk přes Setter nebo metodu.
Následující příklad deklaruje vlastnosti pouze ke čtení a nastavení
dojde přes metodu.
public int Vek{get;private set;}
public bool Plnolety {get;private set;}
public void NastavVek(int vek)
...
Dále tě okdážu už na tutoriály. Je zde vše krásně vysvětlené 
BTW
David Hartinger jak píšeš {} ? Protože mě ve FF kombinací CTRL+B to vytovří vždy tučný text resp. toto
**{**
Dík moc za rady...A ještě kdyz napisu public void nebo private void a slovo return? Jak je tady v tutorialech, ze return vraceni hodnoty..porad nechapu jak jako vraceni neceho?
Metody ti mohou a nemusí vracet hodnoty.
public int SectiCisla(int a,int b)
{
return a+b;
}
public void VypisPozdrav(string jmeno)
{
Console.WriteLine("Ahoj "+jmeno);
}
Tj void značí že metoda nic nevrací, jinak označíš typem co vrací (int,double,string, NejakouInstanciTridy,...)
Mrkni na ty tutoriály, vše tu je napsané
Zkus si tohle:
using System;
class Clovek {
static void Main(string[] args) {
Clovek adam = new Clovek(17);
Console.WriteLine("Adamovi bylo " + adam.Vek + " let. Plnoletý: " + adam.Plnolety);
adam.Vek = 18;
Console.WriteLine("Adamovi je " + adam.Vek + " let. Plnoletý: " + adam.Plnolety);
}
public int Vek {get; private set;}
public bool Plnolety {
get {
return (Vek >=18);
}
}
public Clovek(int vek) {
this.Vek=vek;
}
}
void použiješ tehdy, kdy chceš metodou změnit např. obsah nějaké
proměnné.
return použiješ tehdy, kdy chceš např. do nějaké proměnné uložit
výsledek nějaké metody (funkce)..
Když vytváříš metodu a zvolíš cokoli jiného, než void, tak musí mít vždy návratovou hodnotu, čili musíš použít return.
Příklad pro void:
private int cislo = 0;
private void ulozCislo()
{
cislo = 2;
}
Příklad pro return:
private int cislo = 0;
private void ulozCislo()
{
cislo = zmenCislo();
}
private int zmenCislo()
{
cislo = 5;
return cislo;
}
Není to úplně přesně, ale pro začátečníka to snad bude dobře
pochopitelné. 
Zkoušej si to na nějakých příkladech třeba s kalkulačkou - ukládej si
čísla a tak.. na tom nejlíp uvidíš, jak to funguje.
Zobrazeno 13 zpráv z 13.