NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Hrací kostka v Javě - Zapouzdření, konstruktor a Random

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
blrizzard
Člen
Avatar
blrizzard:18.5.2016 9:27

Pořád nemůžu pochopit co znamená this.prom = prom;. Promena je jen jedna tak v cem se to lisi?

 
Odpovědět
18.5.2016 9:27
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na blrizzard
David Hartinger:18.5.2016 9:34

Proměnná není jedna, jsou dvě. Jedna je atribut a druhá parametr. Je to v článku vysvětlené

Java neví, kterou z proměnných myslíme, jestli parametr nebo atribut.

Odpovědět
18.5.2016 9:34
New kid back on the block with a R.I.P
Avatar
blrizzard
Člen
Avatar
Odpovídá na David Hartinger
blrizzard:19.5.2016 9:29

A rozdil mezi parametrem a atributem je jaky?

 
Odpovědět
19.5.2016 9:29
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na blrizzard
pocitac770:19.5.2016 12:28

Atribut je vlastnost objektu. Máš například instanci typu "člověk", a na ní atribut "věk" věk je vázán na onu instanci, jakmile ji tam dosadíme, tak tam zůstane, dokud ji nepřepíšeme. Parametr je zase jakoby způsob, jak něco udělat, což se váže k metodám a konstruktoru. Když použijeme stejný příklad (člověk), tak každý člověk není ani při zrodu (vytvoření instance) stejný. Nějak se jmenuje, má nějakou výšku, nějakou váhu atd. a to musíme dodat jako parametr při vytvoření, dává nám info, jak modifikovat onen námi nadefinovaný postup. Stejné u metody, například máme metodu "běž". A co s tím? Nic moc zajímavého to asi neudělá, když je to všechno pevně dané. Tak co třeba tam dodat parametry "int vzdalenost, int rychlost, String smer"... To už nám umožní s tou metodou trochu lépe pracovat.

 
Odpovědět
19.5.2016 12:28
Avatar
Jan Mach
Člen
Avatar
Jan Mach:28.9.2016 22:10

chci se zeptat, nějak mi to nefunguje, přitom je to základ, poraďte
1 - v mainu mám jen
B b = new B();

2- v class A je pak

public String jmeno;

public String abc() {
jmeno="jan";
return jmeno;

3-v class B je pak

A a;

public B() {
System.out.prin­tln(a.abc());

 
Odpovědět
28.9.2016 22:10
Avatar
Atrament
Člen
Avatar
Odpovídá na Jan Mach
Atrament:29.9.2016 0:07

Nemáš tam to a nikde inicializované, chybí ti tam nějaké to

a = new A();
 
Odpovědět
29.9.2016 0:07
Avatar
Semjacko
Člen
Avatar
Semjacko:5.1.2017 23:01

Prečo sme nepoužili metodu Math.random() ? Má to nejaký hlbší zmysel alebo je to úplne jedno ?

 
Odpovědět
5.1.2017 23:01
Avatar
Miroslav Melzer:6.1.2017 11:49

To nastavení atributů na private, aby nešly zvenčí modifikovat, vůbec nevim co si pod tím "zvenčí" představit. Kdybych to měl někomu vysvětlit, tak kde je to venku, kdo tam je?

 
Odpovědět
6.1.2017 11:49
Avatar
Odpovídá na Miroslav Melzer
Petr Štechmüller:6.1.2017 12:10

Ahoj, vysvětlím Ti to na příkladu z tutoriálu. Mějme třídu Kostka:

public class Kostka {
        /** Generátor náhodných čísel */
        private Random random;
        /** Počet stěn kostky */
        private int pocetSten;
...
}

Třída Kostka má dva privátní atributy random a pocetSten. Privátní znamená, že ho nelze zvenčí modifikovat, jinými slovy, nemůžeš někde v uživatelském kódu použít tuto konstrukci:

Kostka kostka = new Kostka(); // Pouze definuji instanci kostky
kostka.pocetSten = 5; // Toto nelze použít = volání zvenčí
kostka.setPocetSten(5); // Pokud bude mít kostka setter, tak takto by se měl nastavit požadovaný počet stěn
Odpovědět
6.1.2017 12:10
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovídá na Petr Štechmüller
Miroslav Melzer:6.1.2017 12:12

Takže "venku/zvenčí" je to, pod metodou main?

 
Odpovědět
6.1.2017 12:12
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 136.