Bts sio slam programmation objet 2
BTS Services informatiques aux organisations – 1re année
Programmation objet
Devoir 1
Durée : 2 heures a. (1 point) Attention aux questions qui paraissent très simples mais qui comportent tout de même un petit point technique à voir. C’est le cas ici où le paramètre devait valoriser la propriété libelleQuestion de la classe mère. Il se trouve que cette propriété est protégée donc il est possible d’y accéder à partir de la classe fille. Attention tout de même de bien mettre le préfixe super, ou éventuellement même le this. Pourquoi le this marche ? Parce que par défaut le this va forcer la recherche dans l’instance actuelle, et si la recherche n’aboutit pas, elle se poursuit dans la classe mère. Pourquoi faut-il obligatoirement utiliser un préfixe dans ce cas, que ce soit super ou this ? Parce que le paramètre porte le même nom que la propriété. En l’absence de préfixe, c’est le paramètre qui serait valorisé avec lui-même. QuestionChoixMultiple::QuestionChoixMultiple (libelleQuestion : chaine) debut super.libelleQuestion libelleQuestion fin Proposition de barème : point pour avoir pensé à mettre un suffixe (0 sinon) 1 bonus de 0,5 point si la collection a été créée (ce n’était pas demandé car elle peut être créée au moment de sa déclaration, mais c’est bien d’y avoir pensé). b. 3 points) Cette classe hérite de la classe Question. Il fallait donc le préciser dans l’entête. Ensuite, au niveau ( du contenu, en privé on a au moins besoin de la réponse, et en public bien sûr le constructeur mais aussi la redéfinition des méthodes abstraites. N’oubliez pas qu’une méthode abstraite est vide et doit être obligatoirement redéfinie dans toutes les classes filles.
82950CTPA01
1/4
Classe QuestionSimple : Question privé : lareponse : chaine public : QuestionSimple (libelleQuestion : chaine) ajoutReponse (uneReponse : chaine) afficheReponse() // affiche la réponse possible Proposition de barème : 0,5 point pour