Úloha číslo 2

Jednoduchá interakce objektů

Radek Ošlejšek

Abstract

Cílem úlohy je naučit se základní práci s třídami a jejich instancemi.


Table of Contents

Co je potřeba znát
Zadání
Odevzdání úlohy
Metodické pokyny
Pokyny pro opravování

Co je potřeba znát

Pro vyřešení této úlohy je třeba

  • rozumět pojmům třída, instance, metoda, volání metody, parametry metody, návratová hodnota metody, atribut, typ (parametru, návratové hodnoty nebo atributu).

Zadání

  • Do třídy Cartridge doplňte konstruktor s jedním parametrem určujícím barvu náplně.

  • Propiska bude obsahovat náplň. Proto do třídy Ballpen přidejte atribut cartridge typu Cartridge, který ponese informace o náplni. Dále přidejte metodu setCartridge(), která vezme jako parametr proměnnou typu Cartridge a nastaví atribut cartridge. Nakonec přidejte metodu getCartridge(), která vrátí aktuální náplň.

  • Vytvořte třídu PenFactory. Třída bude obsahovat čítač vyrobených propisek a čítač vyrobených náplní. Do třídy PenFactory dejte následující metody:

    produceCartridge(): Jako vstupní argument vezme barvu náplně, vytvoří novou náplň a vráti ji jako návratovou hodnotu.

    produceBallpen(): Jako vstupní argumenty vezme barvu náplně a text reklamního loga, vytvoří novou propisku i s náplní a vrátí ji jako návratovou hodnotu.

    producedBallpens(): Vrátí počet vyrobených propisek.

    producedCartridges(): Vrátí počet vyrobených náplní.

    toString(): Vrátí řetězec obsahující dva řádky přesně podle následujícího vzoru (X a Y jsou čísla):

      	    Pocet vyrobenych propisek: X
           	    Pocet vyrobenych naplni: Y
  • Do třídy PenFactory přidejte metodu main() s následujícím obsahem (nic jiného v těle metody nebude!):

    • Vytvoří se dvě výrobny propisek.

    • První výrobna vyrobí jednu propisku s modrou náplní a logem "FI MU", jednu propisku s červenou náplní a logem "FI MU", jednu samostatnou modrou náplň a jednu samostatnou červenou náplň.

    • Druhá výrobna vyrobí propisku s modrou náplní a logem "Linux" a jednu samostatnou modrou náplň.

    • Nakonec vypíšeme stav první a druhé výrobny. Výpis bude mít následující podobu (přesně!). Pro výpis využijte System.out.println() a metody toString().

      
      	   Prvni vyrobna:
      	   Pocet vyrobenych propisek: 2
      	   Pocet vyrobenych naplni: 4
      	   Logo: FI MU, napln: modra
      	   Logo: FI MU, napln: cervena
      	   Napln: modra
      	   Napln: cervena
      	   Druha vyrobna:
      	   Pocet vyrobenych propisek: 1
      	   Pocet vyrobenych naplni: 2
      	   Logo: Linux, napln: modra
      	   Napln: modra
      
                   
  • Třídy přeložte a spusťte.

Odevzdání úlohy

Před odevzdáním úlohy si zkontrolujte:

  1. Zda jde úloha přeložit a zda jdou přeložit i všechny testy.

  2. Zdali všechny testy projdou bez chyby.

  3. Zda jste nezapomněli správně vyplnit hlavičky všech tříd ve formátu JavaDoc (popis třídy, autor, popis všech metod, apod.).

Metodické pokyny

Vysvětlete studentům význam metody main(), System.out.println(), toString() a význam znaku \n v řetězci.

Pokyny pro opravování

  • Prověřte, že projdou testy.

  • Zkontrolujte obsah metody main().

  • Porovnejte výstup programu se zadáním.