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 – 10. diel - Aréna s mágom (dedičnosť a polymorfizmus)

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
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:23.7.2013 16:53

Jaký je rozdíl mezi důležitými a nedůležitými proměnnými? Asi ten, že ty nedůležité se do programu vůbec nedávají.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Kit
Theodor Johnson:23.7.2013 16:57

Beru to jako cesta k souboru je důležitá, ale jméno souboru už důležité tolik není ale je lepší když se zobrazuje název místo celé cesty (jen příklad)

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:23.7.2013 17:05

Huh, to mi hlava nebere. Název souboru s cestou je přece objekt. Pokud potřebuji název s cestou, název bez cesty a samotnou cestu, tak k němu napíšu tři gettery.

Většinou je tedy psát nemusím, je to jen příklad.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Kit
Theodor Johnson:23.7.2013 17:08

Každý má nějáký svůj styl kterým píše programy, ale sem to zrovna nepatří :)

Avatar
Honza
Nevyplnené
Avatar
Odpovedá na Kit
Honza:23.7.2013 17:31

Asi jsme se nepochopili. U všech atributů, kromě zprava mám protected, ta jediná je private. Mně jde o to, že v třídě Bojovnik mám toto:

private string zprava;
protected void NastavZpravu(string zprava)
{
    this.zprava = zprava;
}

a v poděděné třídě Mag potom volám metodu NastavZpravu:

NastavZpravu(jmeno + " použil magický útok za " + uder + " hp");

a normálně to funguje. Když použiji VratPosledniZpravu u instance třídy Mag, tak se skutečně vrátí ta nově nastavená zpráva. Ale měl jsem za to, že dědic s proměnnými, které jsou nastaveny jako private v předkovi, pracovat nemůže. Takže je to tak, že když je metoda protected, tak lze automaticky přistupovat i ke všem proměnným v ní nebo jak?

Avatar
Odpovedá na
Michal Žůrek - misaz:23.7.2013 17:32

protože to nastavuješ uvnitř třídy a tam to dostupné je.

Avatar
Honza
Nevyplnené
Avatar
Odpovedá na Michal Žůrek - misaz
Honza:23.7.2013 17:46

Mohl bys to, prosím, trochu rozvést? Já jsem měl za to, že prostě k atributům private má přístup jenom ta třída sama a nikdo jiný. A aby k tomu mohl přistupovat dědic, tak by musel být protected. Nebo to interně funguje nějak jinak, že si to C# "domyslí", když se mění v protected metodě? Nechci vypadat jako debil, ale není mi to jasné... OOP je pro mě novinka.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:23.7.2013 17:49

Protože jsi zavolal metodu NastavZpravu třídy Bojovnik, která s privátními atributy třídy Bojovnik pracovat může.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na
Michal Žůrek - misaz:23.7.2013 18:06

to nevadí jaká je třída, nevadí jaka je metoda (dobře static vadí, ale to je mimo). Prostě to ovlivníš v té třídě kde je příkaz napsán a jedno jestli už je to pak privete nebo protected.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Kit:23.7.2013 18:13

Kdyby byla metoda NastavZpravu ve třídě Mag, tak by to nefungovalo. Dokonce by to nefungovalo ani v případě, kdyby tato metoda byla v obou třídách Mag i Bojovnik, protože metoda ve třídě Bojovnik by byla překryta.

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 138.