Java je objektově orientovaný programovací jazyk založený na třídách. Co to znamená?
Především to, že se veškerý výpočet odehrává uvnitř objektů, které jsou vždy instancí určité
třídy. Třída popisuje, jaká data obsahují všechny její instance a jaké operace s nimi můžeme
provádět. Data, která jsou součástí instance třídy, nazýváme instanční proměnné, a operace
v tomto kontextu nazýváme metodami.
 | Příklad 2.1. |
|
Definujte jednoduchou třídu, která bude popisovat kruh se zadaným poloměrem
a která umožní výpočet jeho obvodu a plochy.
Velikost poloměru bude uložena jako instanční proměnná typu double, který
představuje hodnoty v pohyblivé řádové čárce. Výpočet obvodu a obsahu tohoto
kruhu pak bude realizován metodami. První verze třídy Kruh tedy může vypadat
takto:
class Kruh {
public double r; // poloměr
public double obvod() { return 2 * 3.14159 * r; }
public double obsah() { return 3.14159 * r * r; }
}
|
 | Příklad 2.2. |
|
Vytvořte třídu, která bude reprezentovat směnárnu poskytující prodej a výkup
valut v zadaném kurzu.
Směnárnu můžeme v nejjednodušším případě reprezentovat třídou Smenarna, jejíž
instanční proměnná kurz bude obsahovat aktuální kurz pro prodej a výkup (cenu za
jednotku cizí měny v korunách) a metody vykup() (výkup valut od zákazníka) a
prodej() (prodej valut zákazníkovi), které jako parametr obdrží částku a vrátí částku
přepočítanou podle zadaného kurzu.
class Smenarna {
public Smenarna(double kurz) { this.kurz = kurz; }
private double kurz = 1.0;
public double vratKurz() { return kurz; }
public void nastavKurz(double kurz) { this.kurz = kurz; }
public double vykup(double kolik) { return kolik / kurz; }
public double prodej(double kolik) { return kolik * kurz; }
public static void main(String[] args) {
Smenarna smenarna = new Smenarna(30.0);
System.out.println("Vykup(10): " + smenarna.vykup(10));
System.out.println("Prodej(10): " + smenarna.prodej(10));
}
}
|
2.2.1. Úlohy k řešení 2.2.
-
Vytvořte program, který po spuštění vypíše na standardní výstup hodnoty všech
zadaných parametrů.
-
Upravte třídu Smenarna tak, aby umožňovala účtovat poplatky za prodej valut
(minimální poplatek, procento z převáděné hodnoty).