Salut, j'étudie des trucs basiques, et là je comprend pas qqch.
Imaginons une classe Personne. Imaginons également une classe Avion, une classe Voiture, une classe Bateau.
La personne qui conduit un Avion s'appelle un pilote, celle qui conduit une Voiture un conducteur, celle qui conduit un Avion un capitaine. Chacune des classes correspondant à ces véhicule est donc associée avec une Personne (ou classe héritée de Personne).
Mon prof propose trois alternatives :
1. Rôles sur association : l'association porte directement avec une personne. Ne permet pas de spécifier des attributs ou méthodes propre au rôle du conducteur.
2. Spécialisation : on fait hériter de Personne une nouvelle classe Pilote, qui possède des attributs spécifiques aux pilotes d'avions, et ainsi de suite pour chaque type de véhicule. Ce sont ces classes spécialisées qui sont associées avec les véhicules correspondants. Permet de spécifier des attributs/méthodes propre à chaque conducteur, mais interdit les rôles multiples et dynamiques (qu'est-ce que cela veut dire, d'ailleurs?
3. Classes de rôles : là je comprend plus rien. On a une classe abstraite RoleDePersonne, qui est associée avec une Personne. De la classe RoleDePersonne héritent des classes spécialisées comme au point 2 (Pilote, Conducteur, Capitaine), et ces dernières sont associées avec les véhicules appropriés. Il est dit que cette dernière technique permet les rôles multiples et dynamiques...
Merci beaucoup de votre aide, je suis complètement dans le brouillard 