1. Vous avez besoin de trois classes : Chat, Chien et Animal. La classe Animal est plus générale (héritage) que les deux classes Chien et Chat. Une instance de la classe Chat (respectivement Chien) ne peut pas être instance de la classe Chien (respectivement Chat) : il s’agit d’un héritage exclusif (utilisation de la contrainte {disjoint} du langage OCL). Par ailleurs, d’autres animaux que les chats et les chiens existent. La contrainte {incomplete} du langage OCL permet d’exprimer cette contrainte.
2. L’opération crier() est partagée par tous les animaux. Elle doit donc apparaître au niveau de la classe Animal. Cependant, la méthode associée n’est connue qu’au niveau des descendants de cette classe. Cette méthode est donc abstraite. Les classes Chat et Chien doivent absolument redéfinir la méthode crier().
3. La valeur en décibels de la puissance des cris est pareille pour chaque catégorie d’animaux . Utilisez donc une variable statique. Pour opérer les comparaisons, définissez une interface commune, par exemple Comparable, contenant les opérations nécessaires, en l’occurrence float compareTo(type) qui est réalisée par chaque catégorie d’animaux comme le montre la figure 2.57.
vous m’avez vraiment aidé avec votre résolution
c’est très intéressant les cours,merci!!!