Java: Zápis tříd

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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:

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:

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) { ... }

Návratová hodnota metody

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

new NazevTridy(hodnoty_parametrů_konstruktoru)
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.

POZOR! Přistupovat k atributům třídy z jiných tříd porušuje dobré zvyklosti objektově orientovaného programování!

Další zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje