NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

Diskuze – Lekce 9 - Aréna s mágem (dědičnost a polymorfismus)

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
MrPabloz
Člen
Avatar
Odpovídá na mnauik
MrPabloz:10.2.2014 20:49

Protože kdyby sis projel všechny díly této části, zjistil bys, že tam je objekt typu bojovník, a mág je pouze potomek a bojovník bojuje proti mágovi pokud si dobře pamatuju, tedy bojovník se taky využívá proto nemá být abstraktní třída :)

Odpovědět
10.2.2014 20:49
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na mnauik
Lukáš Hruda:10.2.2014 20:55

Řekl bych, že to lepší je, ale abstraktní třídy jsou probírány až dál.

 
Odpovědět
10.2.2014 20:55
Avatar
simonovsky
Člen
Avatar
simonovsky:12.11.2014 16:48

Opět sem našel nějaké ty chyby, tak ať se aspoň upraví pro budoucí programátory:
1)

protected void nastavZpravu(string zprava)

místo string má být String

2)

@Override
public void utoc(Bojovnik souper)
{
        // Mana není naplněna
        if (mana < maxMana)
        {
                mana += 10;
                if (mana > maxMana)
                        mana = maxMana;
                super.utoc(souper);
        }
        else // Magický útok
        {
                int uder = magickyUtok + kostka.hod();
                nastavZpravu(String.Format("%s použil magii za %s hp", jmeno, uder));
                souper.branSe(uder);
                mana = 0;
        }
}

místo String.Format(..) má být String.format

 
Odpovědět
12.11.2014 16:48
Avatar
B42P6
Člen
Avatar
B42P6:19.5.2015 11:48

Zaujímalo by ma či je označenie @Override len pre informáciu (Ako Komentáre)
Lebo...aj keď tam @Override neni, program beží v poriadku.

Odpovědět
19.5.2015 11:48
'long long long' is too long for GCC
Avatar
Richard H.
Tvůrce
Avatar
Richard H.:7.8.2015 14:50

Mas tam chybu objekty se v javě dědí od java.lang.object ne od System.object .
Nepsal jsi náhodou před timhle tutoriál na C# :D

Odpovědět
7.8.2015 14:50
Malý užitečný manuál je vždy lepší než bichle k ničemu.
Avatar
Petr Beneš
Člen
Avatar
Petr Beneš:3.9.2015 19:20

Mám jeden dotaz. Snažím se trochu si srovnat modifikátory přístupu a když na to tady teď koukám, tak si říkám, jestli nastavením protected na proměnných třídy bojovník nedošlo k přílišnému otevření. Původně tam bylo private, aby došlo k zapouzdření, ale po změně na protected mají k proměnným přístup i jiné classy ze stejného balíku.

Jediné jak si to dovedu vysvětlit je, že by se rodič měl tvořit v samostatném balíčku. A nebo to taky chápu úplně špatně a už jsem se tu do toho zamotal :-)

 
Odpovědět
3.9.2015 19:20
Avatar
Odpovídá na Petr Beneš
Neaktivní uživatel:3.9.2015 19:36

Nevím, co myslíš "balíčkem". Ale pokud je něco protected, tak je to vlastně pořád private, tzn. můžeš to použít jenom uvnitř své třídy, ale zároveň to lze dědit - jde to použít u potomka i u rodiče, ale furt jenom uvnitř třídy, nedostaneš se k tomu jinde.

Odpovědět
3.9.2015 19:36
Neaktivní uživatelský účet
Avatar
vosa53
Člen
Avatar
Odpovídá na Neaktivní uživatel
vosa53:3.9.2015 20:03

Je to asi javista, tam jsou balíčky (package) místo složek a protected funguje přesně tak jak popisuje. :)

 
Odpovědět
3.9.2015 20:03
Avatar
Odpovídá na Neaktivní uživatel
Zdeněk Pavlátka:3.9.2015 20:08

balíček == package

Odpovědět
3.9.2015 20:08
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
vosa53
Člen
Avatar
Odpovídá na Petr Beneš
vosa53:3.9.2015 20:08

To co říkáš funguje v Javě a možná i někde jinde, nevím. Ale v c# to funguje tak jak píše Neaktivní uživatel :)

 
Odpovědět
3.9.2015 20:08
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 91.