Yaourt
Une entreprise fabrique des yaourts qui peuvent être soit nature (sans arôme), soit aromatisés (fraise, abricot ou vanille).
Une application permet de gérer l'étiquetage des pots. Pour pouvoir traiter informatiquement les spécificités de ce produit et changer l'étiquetage à chaque nouvelle production, on va donc créer une classe Yaourt qui possèdera les attributs suivants :
- Son genre :
"nature"ou"aromatise" - Son arôme :
"fraise","abricot","vanille"ou"aucun" - Sa date de durabilité minimale (DDM) exprimée par un entier compris entre 1 et 365 (on ne gère pas les années bissextiles). Par exemple, si la DDM est égale à 15, la date de durabilité minimale est le 15 janvier.
Les attributs arome et genre sont liés entre eux : pour conserver la cohérence des valeurs, une modification automatique de genre a lieu lorsque l’on passe d’un arome "aucun" à "fraise" ou "abricot" ou "vanille" ou inversement. On va par conséquent les utiliser comme des attributs privés, c'est-à-dire qu'ils ne peuvent être directement manipulés qu'à l'intérieur de la définition de classe.
On va créer également des méthodes permettant d’interagir avec l’objet Yaourt pour attribuer un arôme ou récupérer un genre par exemple.
>>> mon_yaourt1 = Yaourt('aucun', 18)
>>> mon_yaourt1.obtenir_arome()
"aucun"
>>> mon_yaourt1.obtenir_genre()
"nature"
>>> mon_yaourt1.modifier_arome("abricot")
>>> mon_yaourt1.obtenir_arome()
"abricot"
>>> mon_yaourt1.obtenir_genre()
"aromatise"
méthode modifier_genre
La méthode modifier_genre ne doit pas être appliquée à une instance. La modification de genre devra en effet se réaliser automatiquement si un changement d’arôme le nécessite. Elle sera utilisée à l’intérieur de la définition de la classe.
On peut représenter cette classe par le diagramme ci-dessous :
classDiagram
class Yaourt {
-str arome
-str genre
+int DDM
obtenir_arome()
obtenir_genre()
modifier_arome()
modifier_genre()
}
Compléter la classe Yaourt :
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)