NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 2 - První objektová aplikace v Javě - Hello object world

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
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:15.10.2013 15:43

Jako vtip dobré, ale nejlepším receptem proti prasení je TDD. IDE hraje jen minimální roli a záleží jen na kvalitě programátora, zda je ta role pozitivní či negativní.

Odpovědět
15.10.2013 15:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:15.10.2013 18:49

<irony>Ano, TDD je bůh a prasokód už pak člověk nenapíše.</irony>

Odpovědět
15.10.2013 18:49
https://www.facebook.com/peasantsandcastles/
Avatar
lm3951
Člen
Avatar
lm3951:11.11.2013 15:35

ahoj,

pre mna najdolezitejsia vec v tomto clanku vysvetlena nie je.
Kde musi byt metoda main, zdoraznujem neviem kde MUSI byt nie kde moze.
Takze na zaklade pokusov viem, ze ked ju nedam do triedy HelloObjects tak to nefunguje, v zdravic nemusi byt. Je to tak naozaj ? Ze v triedach ktore sluzia len na definiciu main netreba. Jedine kde musi byt je cast kde je program v ktorom vytvaram objekty /instancie tried ? t.j v tomto pripade v triede HelloObejcts ? Takze mozem mat 1000 tried a main tam nebude, ale v programe kde to vsetko instancujem tak musi ? alebo ako je to presne.
dakujem.

 
Odpovědět
11.11.2013 15:35
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na lm3951
Jan Vargovský:11.11.2013 15:51

Je jedno kde je, prostě někde v těch souborech musí být static void Main(string[] args)

 
Odpovědět
-1
11.11.2013 15:51
Avatar
lm3951
Člen
Avatar
Odpovídá na Jan Vargovský
lm3951:11.11.2013 17:10

hmm nieco som nasiel, podla toho ma byt v tej triede, ktorou sa spusta cely program. Ze moze byt v hociktorej triede mi pride ako dost nestastne riesenie, to potom nahodou nejaku triedu proste nepouzijes /vymazes/ a zrazu ti prestane cely kod fungovat. Ked tam mas 50 tried to musi byt asi dost bordel ak by bola metoda main v nejakej nepodstatnej.
Neverim, ze ludia co pisu aplikacie kde je viacej tried tak nemaju v tomto nejaky system.

 
Odpovědět
11.11.2013 17:10
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na lm3951
Jan Vargovský:11.11.2013 17:19

Nevím zaco to i--, ale obhájím to co jsem řekl. Máš v projektu 100 tříd a je jedno kde je metoda Main, někde v těch souborech musí být. Platí ale, že může být jen jedna a je celkem logické, že když voláš nějaké metody z instancí tak se program musí vrátit do té hlavní metody a ta je vždycky Main.

A proč problém ? Od toho máš IDE, aby ti pomáhalo i kdybych ti schoval mainmetodu mezi miliardu tříd, měl bys schopen využít IDE tak, aby jsi jí našel do 5ti sekund.

Defaultně je třída Program a metoda Main. Není důvod to měnit a dávat to někde jinde.

 
Odpovědět
11.11.2013 17:19
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na lm3951
David Hartinger:11.11.2013 17:24

Proč by měla být metoda main popsaná v objektovém seriálu, když s tvořenými objekty vůbec nesouvisí? Main je základní metoda, kterou ti vygeneruje IDE u nového projektu a je tam vždy od začátku a vždy jen jedna. Pokud ti to není jasné, udělej si seriál se základy syntaxe Javy, který tomuto seriálu předchází.

Odpovědět
11.11.2013 17:24
New kid back on the block with a R.I.P
Avatar
lm3951
Člen
Avatar
Odpovídá na David Hartinger
lm3951:11.11.2013 17:35

ja som si to cele presiel a urobil som si aj vsetky priklady.
To, ze nieco mi vygeneruje IDE je fajn, ale ked neviem ako to presne funguje nie je to pre mna pochopitelne riesenie specialne pri oop.
Predsa aj ked to budem pisat v notepade tak musim vediet co robim.

takze este raz.
Ak v priklade, ktory je hned na zaciatku dam metodu main do Zdravic.java tak eclips mi vyhadzuje chybu. Ak chcem, aby to zbehlo tak metoda main musi byt v HelloObjects.java a v nej vytvoreny objekt zdravic.
Takze v tomto pripade mi nejak nefunguje ani to, ze moze byt hocikde.

 
Odpovědět
11.11.2013 17:35
Avatar
Kit
Tvůrce
Avatar
Odpovídá na lm3951
Kit:11.11.2013 17:40

Metodu main() mám v každé třídě. Zjistil jsem, že je to tak nejlepší.

Odpovědět
-1
11.11.2013 17:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na lm3951
Jan Vargovský:11.11.2013 17:42

Tohle je objektový tutoriál pro lidi, kteří znají základní věci. Je jedno v jaké třídě je ta metoda Main, pak ale musíš zbytek programu dohodit do společně s tou metodou. Když si snad přejmenuješ název vygenerované třídy, kde je metoda main tak program nefunguje?

Btw, co třeba říct jakou chybu?

 
Odpovědět
11.11.2013 17:42
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 195.