J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor
Metoda V jiných jazycích se setkáme s pojmem funkce. Jestli máme část zdrojového kódu, který se v programu několikrát opakuje (ne smyčka), napíše se do metody a na tu se pak odkazujeme.
Metoda Hlavička metody obsahuje návratový typ název (typ arg) int krat3 (int cislo){ int vysledek = 3*p; return vysledek; }
Metoda V případě že metoda nic nevrací, například něco vypíše, použijeme jako návratový typ klíčové slovo void. void zarvi (){ System.out.prinln(“Hééj!“); }
Metoda - volání metody K zavolání metody stačí napsat jen název metody s argumenty. krat3(4); zarvi ();
Metoda Všimněte si, že do teď jsme psali naše programy do metody main. Tato metoda se volá při spuštění programu. Metoda main je typu void => nic nevrací. Klíčové slova public static ještě upravují její vlastnosti. Důležité však je, že nemůžu volat nestatickou metodu ze statické.
Objektové programování Doteď jsme programovali strukturovaně - v jedné metodě (main) jsme napsali za sebou příkazy které se vykonaly. Díky metodám na které se odkazujeme ze spouštěcí třídy main() jsme se přiblížili objektovému prog.
Objektové programování Objekt. prog. spočívá ve vytváření objektů, které ztělesňují nějakou třídu. Přes tyto objekty se pak můžeme odkazovat na metody dané třídy. Výhodou je že programy jsou mnohem univerzálnější.
Objektové programování class Telesa { Objem_hranolu() Objem_koule() Objem_jehlanu()... } class DomaciUkol { main(){ Telesa tel = new Telesa();... } class IdealniTeleso { main(){ Telesa tel = new Telesa();... } Class...
Objektové programování Objekty nejsou pouze odkazy na hotové metody. Mohou kromě metod obsahovat nejrůznější proměnné či další objekty. Můžeme si tak vytvářet nejrůznější datové struktury (speciální kyblíčky :c) a objekty nejrůznějšího typu.
Objektové programování Zůstaneme u těles a vytvoříme si objekt který bude reprezentovat kouli. Bude mít jednu proměnnou - poloměr. A dále bude mít metody které budou vracet objem, obsah, délku rovníku,… (můžeme si pak přidat proměnnou ro, v které bude uložena hustota materiálu z kterého je koule vyrobena a přidělat metody budou zjišťovat fyzik. vlastnosti dané koule (hmotnost, potopi_se,…) r
Koule.java public class Koule { double r; double Objem(){ // V = 4/3 * PI * r^3 double v = (double)4/3 * Math.PI * Math.pow(r, 3); return v; } double Obsah(){// S = 4 * PI *r^2 double s = 4 * Math.PI * Math.pow(r, 2); return s; } double Rovnik (){ double o = 2 * Math.PI * r; return o; }
Konstruktor Konstruktor je speciální metoda, která se provede ve chvíli vytváření objektu. Koule k1 = new Koule(); Používá se k počátečnímu nastavení proměnných. Konstruktor nemá žádný návratový typ a má stejné jméno jako třída.
Konstruktor V naší třídě Koule by konstruktor vypadat takto: Koule (){ r = 0; } Potom vždy když vytváříme objekt Koule, bude automaticky do r přiřazená nula.
Konstruktor Můžeme použít ale i konstruktor s argumenty: Koule (double polomer){ r = polomer; } Tento konstruktor se spustí v případě: Koule k1 = new Koule(7);
Konstruktor Pokud nemáme konstruktor definovaný, stejně je automaticky vygenerovaný konstruktor bez argumentu a všechny proměnné jsou automaticky naplněné např. hodnotou null.