2.2. Třídy a objekty

Obsah

2.2.1. Vytvoření instance třídy
2.2.2. Konstruktory
2.2.3. Metoda main

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.

  1. Vytvořte program, který po spuštění vypíše na standardní výstup hodnoty všech zadaných parametrů.
  2. Upravte třídu Smenarna tak, aby umožňovala účtovat poplatky za prodej valut (minimální poplatek, procento z převáděné hodnoty).