Écris une usine (HenFactory) qui fabrique des poules (Hen) :
1. Écris une classe Hen.
1.1. Rends-la abstraite.
1.2. Ajoute une méthode int getMonthlyEggCount() à la classe abstraite.
1.3. Ajoute une méthode String getDescription() à la classe. Elle doit renvoyer « Je suis une poule. »
2. Crée une classe NorthAmericanHen qui hérite de Hen.
3. Crée une classe EuropeanHen qui hérite de Hen.
4. Crée une classe AsianHen qui hérite de Hen.
5. Crée une classe AfricanHen qui hérite de Hen.
6. Dans chacune de ces quatre classes, écris ta propre implémentation de la méthode getMonthlyEggCount.
La méthode doit renvoyer le nombre d'œufs par mois pondus par ce type de poule.
7. Dans chacune de ces quatre classes, écris ta propre implémentation de la méthode getDescription.
La méthode doit renvoyer une chaîne comme suit :
<classe parente>.getDescription() + " Je viens d'<continent>. Je ponds <n> œufs par mois."
où <continent> est le nom du continent
et <n> le nombre d'œufs pondus par mois.
8. Dans la classe HenFactory, implémente la méthode getHen. Elle doit renvoyer une race de poule correspondant au continent d'où la poule vient.
9. Toutes les classes que tu crées doivent se trouver dans des fichiers séparés.
- La classe Hen doit être abstraite.
- La classe Hen doit avoir une méthode abstraite int getMonthlyEggCount().
- La classe Hen doit implémenter une méthode String getDescription() qui renvoie « Je suis une poule. »
- Les classes NorthAmericanHen, EuropeanHen, AsianHen et AfricanHen doivent hériter de la classe Hen et se situer dans des fichiers séparés.
- Les classes NorthAmericanHen, EuropeanHen, AsianHen et AfricanHen doivent implémenter la méthode getMonthlyEggCount, qui doit retourner le nombre d'œufs par mois pondus par le type de poule correspondant.
- Les classes NorthAmericanHen, EuropeanHen, AsianHen et AfricanHen doivent remplacer la méthode getDescription de la classe parente de sorte que la chaîne renvoyée ressemble à ceci : <classe parente>.getDescription() + " Je viens d'<continent>. Je ponds <n> œufs par mois." où <continent> est le nom du continent et <n> le nombre d'œufs par mois.
- La méthode getHen doit être implémentée dans la classe HenFactory et renvoyer le type de poule qui correspond au continent passé.