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 – 2. diel - Prvá objektová aplikácia v Jave - Hello object world

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
Ondřej Štorc
Tvůrce
Avatar
Odpovedá na Marcel Smolik
Ondřej Štorc:4.7.2015 12:53

http://www.itnetwork.cz/…-typy-string
Skoro u konce článku je to popsaný (nadpis té 'sekce' je Format)

Odpovedať
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Richard H.
Tvůrce
Avatar
Richard H.:7.8.2015 12:28

Zajímavá náhoda já jsem Richard

Odpovedať
Malý užitečný manuál je vždy lepší než bichle k ničemu.
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:5.12.2015 21:58

Jen pro upřesnění:

metoda je činnost, kterou program dělá PO JEJÍM ZAVOLÁNÍ!! pokud tedy metodu nezavoláme, je naprosto jedno, jak dokonalý kód je v ní napsaný. V OOP jde vlastně pouze o volání metod, samotný kód, který v metodě není v objektových jazycích neexistuje (překladače je automaticky vyhodnotí jako chybu - viz komentář uživatele lm3951:

public class HelloObjects{
       Zdravic zdravic = new Zdravic();
       zdravic.pozdrav();
}

Všechno musí být v metodách. O tom jaké máme metody budou snad další články, ale takové základní rozdělení je. Prázdné, Návratové, Konstruktory
Potom mohou být statické, veřejné a soukromé, ale to teď není důležité.
Prázdná metoda:

public void metoda(){
}

Návratová metoda:

public int metoda(){
        return 5;
}
public String metoda(){
        return "tukan";
}
public boolean metoda(){
        return true;
}

atd.
Pak je speciální typ metody - konstruktor. (jsou 4 druhy konstruktorů: implicitní, bezparametrický, parametrický a privátní) o tom jaký je mezi nimi rozdíl není tento článek, proto je pouze vypisuji.
Konstruktor narozdíl od metody nemá žádný datový typ (ani prázdný - void). Navíc název konstruktoru MUSÍ být stejný jako je název třídy.

public class Test{      //vytvoření a název třídy (třída Test)
        public Test(){  //toto je konstrutor. Když se třída jmenuje Test, muse se takto jmenovat i konstrutor
        }
}

No a metoda main? (kvůli které toto píšu:D)
Jak jsem psal na začátku - OOP je vlastně volání metod příslušných tříd. Jenže aby se vůbec nějak program rozjel, musí se zavolat metoda main, která je v Javě takhle daná. Tudíž, zapamatujte si, že metoda:

public static void main(String[] args){

}

spouští program. Pokud je metoda main ve více třídách (může být), tak musíme vybrat, kterou bude program brát za spouštěcí. Potom jsou ty ostatní opravdu zbytečné, ale můžou tam být.

Pokud jde o toto: "metoda main může být kdekoliv", tak ano, může být, ale už logicky z toho tedy vyplývá, že pokud ji dáme do "nehlavní" třídy, tak se z ní musíme komplikovaně dostávat ven.
příklad: máme 3 třídy. Plocha, Piskvorek, Hodnoceni. Logicky bychom dali main metodu do třídy Plocha, protože na plochu nakreslíme pole čtverečků, budeme provádět logiku hry apod. Pokud bychom dali metodu main do třídy Piskvorek, tak bychom museli z ní stejně zavolat:

Plocha plocha = new Plocha();

Ale trošku to postrádá přehlednost. A v situaci, kdy máme takových tříd 200 a ne jen 3, tak hledejme proč není metoda main logicky v hlavní třídě, ale ve třídě, kterou hlavní třída dočasně, okrajově nebo dokonce pomocně využívá. To už potom píše kód prase a ne človíček:)

Odpovedať
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Nezmar Hydra
Člen
Avatar
Nezmar Hydra:17.5.2016 2:26

Moc děkuji za krásně zpracovaný kurz. A budu mít jednu úplně pitomou otázku. Kde nastavím zobrazování popisků? Nezobrazují se mi u žádného ani staženého projektu. Děkuji.

Editované
Avatar
Nezmar Hydra
Člen
Avatar
Odpovedá na Nezmar Hydra
Nezmar Hydra:17.5.2016 3:11

Tak nic .... už jsem to uklikal :-)

Editované
Avatar
David Capoušek:27.11.2016 12:49

Nedal by sem někdo zdroják tý objektový kalkulačky, prosím?

Avatar
Miroslav Melzer:28.12.2016 16:31

Jenom takovou drobnost... mě to neodřádkuje

public class Zdravic {

   public void pozdrav (String jmeno){
       System.out.printf("Vítej uživateli jménem %s", jmeno);
Zdravic zdravic = new Zdravic();
        zdravic.pozdrav("Karel");
        zdravic.pozdrav("Jaroslav");

Chybí tam to \n za tim %s, nebo mam něco blbě já ?

Avatar
Odpovedá na Miroslav Melzer
Libor Šimo (libcosenior):28.12.2016 16:59

Schvalne, co si o tom myslis?

Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovedá na Libor Šimo (libcosenior)
Miroslav Melzer:28.12.2016 19:14

Myslim, že to tam chybí.

Avatar
Miroslav Melzer:30.12.2016 16:07

Já to nějak nechápu :-? S tou kalkulačkou je to jenom vtip, že jo ?
Zatim se mi podařilo ten zdravič malinko modifikovat...

/** Tříde ke zdravení*/
public class Zdravic {
    /** text pozdravu*/
    public String text;
    /** pozdraví už. jménem a textem
     *
     * @param jmeno Jmeno už.
     * @param vek   Věk už.
     * @return  text s pozdravem
     */
    public String pozdrav(String jmeno, int vek){
        return String.format("%s %d letý %s",text,vek,jmeno);

=============­========================­==============

public static void main(String[] args) {

         Scanner sc = new Scanner(System.in, "Windows-1250");

        Zdravic zdravic = new Zdravic();

        zdravic.text = "Ahoj uživateli";
        System.out.println(zdravic.pozdrav("Miroslave", 41));
        zdravic.text = " Zadej první číslo";
        System.out.println(zdravic.pozdrav ("Josefe",55));
        float a = Float.parseFloat(sc.nextLine());

=============­========================­=======
Pro kalkulačku, ten scaner, jak ho tam dostanu ? "Postaru" importem nebo už jako metodu?
To "new scanner" vypadá jako "new Zdravic" ... Může tam vůbec být víc metod ? Bude mít každá svůj return ? Jak bude vypadat return pro float? A co ty početní operace a jak ten cyklus pro opakování... Mi neřikejte, že ste někdo už po týhle lekci tu kalkulačku zmáknul... :-O

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 196.