Bonjour,
Ayant toujours fait du C sur microcontrôleur ou du VHDL dans une moindre mesure (donc deux langages utilisés dans des applications à l'extrême opposées de la POO), je dois dire que j'ai un mal de chien a réellement me mettre au Java.
Mon programme de test : un Aquarium (j'ai rien trouvé de mieux pour démarrer)
Normalement ma super classe doit être un aquarium avec dedans, un environnement (des limites géographiques et des zones de nourritures)
- Il m'a paru naturelle de créer une interface "Comportement" avec dedans des méthodes vides telles que des directions : droite(), gauche(), haut(), bas(), approcher(), fuir(), suivre() communes à toutes sortes de poissons.
- Ensuite, je verrai bien 3 classes abstraites car il y a des prédateurs, des proies vivants à plusieurs et d'autres proies vivants seuls. Les prédateurs mangent des proies et celles ci mangent la nourriture dans l'environnement principal.
- Enfin des classes suivants les types de poissons (prédateurs/proies seules/proies en communautés) héritant des classes abstraites ci dessus et une description de leur comportement offensif / défensif (camouflage, esquive rapide, se cacher).
Mes questions sont : Est ce que ma vision du problème est bonne ? Est ce que je me plante dans ces notions d'héritages, interfaces ?
Je m'interroge sur la méthode fuir() dans l'interface puisqu'un prédateur n'est pas sensé fuir. Est ce que la place de cette méthode n'est pas plus dans la classe abstraite ?
D'avance merci.
Partager