Bonjour,
Dans l'exercice P7, la méthode "integre" de la classe Intégrateur a besoin d'accéder aux attributs d'un objet de la classe Toupie et de les modifier. Je ne comprends pas très bien comment concilier ce besoin avec le principe d'encapsulation. Si l'on crée une méthode "set" publique pour la classe Toupie, où se situe l'intérêt de mettre les attributs de la classe en private ?
De façon plus générale, je ne comprends pas très bien l'intérêt de créer une nouvelle classe Intégrateur. D'un côté, je comprends la volonté de rendre indépendants les concepts Toupie et Intégrateur (je fais référence à cette discussion : https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=26417). Mais concrètement dans notre projet les méthodes des différents intégrateurs sont toujours définies comme agissant sur un objet de la classe Toupie, ce qui me semble s'opposer à l'indépendance entre les 2 concepts...
Si l'on accepte cette dépendance, pourquoi ne définit-on pas les différents intégrateurs comme étant directement des méthodes de la classe Toupie (plutôt que de créer une nouvelle classe Intégrateur) ? Ou mieux, on pourrait implémenter ces méthodes d'intégrateurs dans une super-classe de Toupie appelée "ObjetPhysique" qui regrouperait toutes les classes définies par : un vecteur P, un vecteur représentant la dérivée temporelle de P, et l'équation différentielle la caractérisant. Ainsi, les intégrateurs ne seraient plus liés au concept de Toupie mais au concept beaucoup plus large d'objet physique et la classe "objet en chute libre" décrite dans l'exercice P7 serait alors une sous-classe de cette classe (et non pas une Toupie / sous-classe de Toupie...). Par contre, je ne suis pas sûr du bon fonctionnement des intégrateurs dans le cadre d'une sous-classe sachant qu'ils feraient appel à la méthode de l'équation différentielle qui serait masquée par celle définie dans la sous-classe (même problème qu'ici : https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=28615)
Merci.