Non, ce n'est pas cela que je voulais dire :
La voiture doit pouvoir répondre à deux (peut-être 3) questions existentielles concernant ses pneus :
- de combien de pneus as-tu besoin ? (j'en veux 7 : j'ai 3 essieux et la roue de secours )et
- quelle sont les dimensions de pneu que tu accepte (18"/180 ) ?
- (éventuellement, si cela a du sens : quels types de pneus acceptes-tu ?(de course) )
A ces comportements, il suffit d'en rajouter un dernier qui permet de changer n'importe quel pneu:
Remplace "tel " pneu par celui que je te donne ici.
Si tu as ces trois (quatre ) comportements de base, tu as tout ce qu'il te faut pour sélectionner la liste des pneus potentiels et pour arriver à changer les pneus aussi bien par lot (on remplace "tel" par "tous") que séparément (on remplace "tel" par une information permettant de savoir qu'il s'agit du pneu avant droit).
Maintenant, la manière dont la notion de pneu est, effectivement, représentée au sein du projet importe peu. Tu peux tout aussi bien lui transmettre un pointeur vers une classe de base "pneu" qu'un indice correspondant à la position du pneu en question dans une collection quelconque... Cela ne changera rien au problème (*)
(*) A noter toutefois qu'il pourrait être intéressant que la voiture soit en mesure de vérifier la taille (et le type) de pneu qu'on veut lui faire monter, afin d'être en mesure de faire une assertion sur ces informations
Et, bien sur, ce principe peut s'adapter aussi bien aux pneus, qu'aux sièges, aux portes, ou à tout ce que tu veux pouvoir "customiser" sur la voiture
Partager