Java: Zápis tříd
|  (Zde bude pouze syntaxe Javy, vysvětlení k OOP bude na stránce OOP, doplnění volání metod) |  (→Zprávy/metody:  Přidán základ) | ||
| Řádka 50: | Řádka 50: | ||
| === Zprávy/metody === | === Zprávy/metody === | ||
| + | |||
| + | Metoda popisuje, co se má stát, když nám někdo pošle zprávu. | ||
| + | |||
| + | Syntaxe: | ||
| + | <''modifikátor přístupu''> <''návratový typ''> <''název metody''> ( <''parametry''> ) { <''co se má dělat''> } | ||
| + | |||
| + | ; Příklady: | ||
| + |  public void act() { ... } | ||
| + |  public int distanceTo(Enemy enemy) { ... } | ||
| + |  private double ujetaVzdalenost() { ... } | ||
| + |  private void pridejPanacka(int sloupec) { ... } | ||
| + | |||
| + | * Volání („spuštění“) metod viz kapitola [[#Volání metod|Volání metod]]. | ||
| + | |||
| + | === Návratová hodnota metody === | ||
| + | * Pokud má metoda návratový typ jiný než void, tak na konci potřebujeme vrátit výsledek. | ||
| + | * Použijeme klíčové slovo <code>return</code>. | ||
| + | |||
| + | ; Příklad: | ||
| + |  public double ujetaVzdalenost() { | ||
| + | 	double vysledek = 0; | ||
| + | |||
| + | 	// ... tady nějak spočítám výsledek... ;) | ||
| + | |||
| + | 	return vysledek; | ||
| + |  } | ||
| === Konstruktor === | === Konstruktor === | ||
Verze z 19. 11. 2015, 13:23
Java je objektově orientovaný jazyk. Chování systému (a tedy algoritmus) popisujeme jako komunikaci mezi objekty, které mají vlastnosti (atributy) a posílají si zprávy.
Zde uvádíme pouze syntaxi zápisu v Javě s minimem teorie. Více o OOP a jeho principech a konstruktech viz Objektově_orientované_programování.
Při zápisu programu v Javě se budeme řídit dohodnutými konvencemi pro zápis kódu.
| Obsah | 
Třída
Třída představuje „předpis“ pro tvorbu objektů. Ve třídě je tedy popsáno:
- jaké vlastnosti mají objekty dané třídy
- a na jaké zprávy umí objekty dané třídy reagovat.
public class MojeTrida {
   //
   // popis vlastností třídy
   //
   // popis zpráv
   //
}
Atributy
Nebo také vlastnosti popisují stav objektu. Z reálného objektu si vybíráme pouze ty vlastnosti, které jsou pro náš systém důležité.
Třeba třída Automobil bude mít v nějakém systému jako vlastnost jmenoVlastnika a nebude mít žádnou vlastnost, popisující výkon motoru. Pro náš systém je to tak vhodné. Jiný systém může u automobilu sledovat výkon a ne jméno vlastníka.
Zápis atributu:
- může být modifikátor přístupu
- datový typ
- název
Příklad:
int delka; public String jmeno;
Tedy ve třídě:
public class Zbozi {
   String nazev;
   TypZachazeni omezeni;
   int cena;
   ...
}
Zprávy/metody
Metoda popisuje, co se má stát, když nám někdo pošle zprávu.
Syntaxe: <modifikátor přístupu> <návratový typ> <název metody> ( <parametry> ) { <co se má dělat> }
- Příklady
public void act() { ... }
public int distanceTo(Enemy enemy) { ... }
private double ujetaVzdalenost() { ... }
private void pridejPanacka(int sloupec) { ... }
- Volání („spuštění“) metod viz kapitola Volání metod.
Návratová hodnota metody
- Pokud má metoda návratový typ jiný než void, tak na konci potřebujeme vrátit výsledek.
-  Použijeme klíčové slovo return.
- Příklad
public double ujetaVzdalenost() {
double vysledek = 0;
// ... tady nějak spočítám výsledek... ;)
return vysledek;
}
Konstruktor
Použití třídy
Vytvoření instance
- Obecně
new NazevTridy(hodnoty_parametrů_konstruktoru)
- Například:
Automobil a1 = new Automobil(5);
Přístup do třídy
- Volání metod
Obdelnik o = new Obdelnik(5, 4); o.posun(10, 10); System.out.println(o.plocha());
- Přístup k atributům
o.poziceX = 10; System.out.println(o.poziceY);
Přístup k atributům je ovlivněn modifikátory přístupnosti.
Další zdroje
- Pitner Tomáš. Programování v jazyce Java. 2003. Dostupné z: http://www.fi.muni.cz/~tomp/slides/pb162/printable.html
