Witam forumowiczow,
mam maly problem i nie bardzo wiem jak sie za temat zabrac (prosze o podpowiedz nie rozwiazanie).. Mianowicie musze zdefiniowac klasę Fabryka implementującą statyczną metodę make. Metoda ta będzie przyjmować jako parametr wartość typu int określającą jaki rodzaj cukierków należy produkować, a zwracać obiekt reprezentujący ten cukierek. Jeżeli cukierek określonego typu był już produkowany w tej fabryce, należy zwrócić jego obiekt. W przeciwnym przypadku metoda make poprzedzi zwrócenie obiektu jego fabrykacją.
Utworzylem taka klase:
class Fabryka
{
int[] rodzaje = new int[5];
static Cukierek make(int rodzaj)
{
switch (rodzaj)
{
case 1:
Cukierek rodzaj1 = new Cukierek("truskawkowy");
return rodzaj1;
case 2: Cukierek rodzaj2 = new Cukierek("brzoskwiniowy");
return rodzaj2;
case 3: Cukierek rodzaj3 = new Cukierek("wisniowy");
return rodzaj3;
case 4: Cukierek rodzaj4 = new Cukierek("malinowy");
return rodzaj4;
case 5: Cukierek rodzaj5 = new Cukierek("bananowy");
return rodzaj5;
default: System.out.println("Wybierz rodzaj cukierka od 0 do 5");
return null;
}
}
}
Z tego co wiem nie ma mozliwosci sprawdzenia czy dany obiekt istnieje, przynajmniej nie znalazlem zadnych informacji na ten temat. Pomyslalem wiec ze bede zapisywal wszystkie tworzone typy cukierkow w tablicy lecz nawet jesli natrafie na utworzony wczesniej cukierek nie moge go zwrocic poniewaz kompilator karze mi go najpierw utworzyc..
Kolejnym problemem jest to, ze nie skorzystac z cukierka utworzonego przez metode make w metodzie main
Fabryka.make(3);
rodzaj1.show();
rodzaj1 cannot be resolved