Opis NorthAmericanHen powinien mieć następujący format: <klasa macierzysta>.getDescription() + " Pochodzę z Afryki. Znoszę <n> jaj na miesiąc.", gdzie <n> to liczba jaj na miesiąc (zwracana przez metodę getMonthlyEggCount). na przykład: Jestem kurczakiem. Pochodzę z Afryki. Znoszę 5 jaj na miesiąc.
package pl.codegym.task.task14.task1408;
/*
Ferma drobiu
*/
public class Solution {
public static void main(String[] args) {
// Linia 10: Teraz przekazujemy stałą String z interfejsu Continent
Hen hen = HenFactory.getHen(Continent.AFRICA);
if (hen != null) {
System.out.println(hen.getMonthlyEggCount());
System.out.println(hen.getDescription());
} else {
System.out.println("Nie udało się stworzyć kurczaka dla podanego kontynentu.");
}
}
static class HenFactory {
// Metoda getHen przyjmuje String, tak jak wcześniej
static Hen getHen(String continent) {
Hen hen = null;
switch (continent) {
// Kluczowe: używamy stałych z interfejsu Continent do porównań!
case Continent.NORTHAMERICA: // "Ameryka Północna"
hen = new NorthAmericanHen();
break;
case Continent.EUROPE: // "Europa"
hen = new EuropeanHen();
break;
case Continent.ASIA: // "Azja"
hen = new AsianHen();
break;
case Continent.AFRICA: // "Afryka"
hen = new AfricanHen();
break;
default:
// Teraz ten komunikat powinien pojawić się tylko dla naprawdę nieznanych kontynentów
System.out.println("Nieznany kontynent: " + continent + ". Zwracam null.");
break;
}
return hen;
}
}
}