Nous avons défini dans un premier temps des tâches génériques, or il est possible que certaines tâches requièrent des informations spécifiques. Pour cela des modifications du code vont être nécessaires.
Nous avons considéré qu'une tâche devait contenir un label et un état, mais, pour certaines tâches, ces attributs ne suffiront pas. Par exemple, pour un RDV il faudra ajouter une notion de date et d'horaire.
Il va donc falloir reprendre notre diagramme en considérant la classe Task comme une classe générique indiquant seulement le squelette d'une tâche. À partir de cette tâche, on pourra définir une tâche simple (SimpleTask) et un rendez-vous (RDV). Vous pourrez par la suite ajouter autant de tâches différentes que vous le souhaitez. Un point important sera que la classe Task en elle-même ne pourra plus être directement utilisée puisque ne définissant que le squelette d'une tâche. On parlera alors de classe abstraite, une classe ne pouvant pas être instanciée.
La figure 1 montre le diagramme des classes définissant les tâches SimpleTask et RDV. Les éléments notés en italique (la classe Task et la méthode toString() de cette classe) sont abstraits....
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première