Mapping des classes : Héritage, Polymorphisme et UML en POO
🧠 Quiz 5 questions 10 min
QUIZ INTERACTIFDiff. 5/10
Découvrez des exercices corrigés sur le mapping des classes en POO pour Terminale Informatique. Maîtrisez UML, héritage et polymorphisme avec des cas pratiques.
Question 1 sur 5 10:00
[{"id":2644,"question":"Dans un diagramme UML, quel symbole représente l'héritage entre deux classes ?","option_a":"Un losange","option_b":"Une flèche pleine avec un triangle","option_c":"Une ligne pointillée","option_d":"Un cercle","option_e":"","option_f":"","bonne_reponse":"B","explication":"L'héritage en UML est représenté par une flèche pleine avec un triangle vide pointant vers la classe parente. Cela indique qu'une classe hérite des attributs et méthodes d'une autre.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":2645,"question":"Quelle est la différence entre une classe abstraite et une interface en Java ?","option_a":"Une classe abstraite peut avoir des attributs, une interface non","option_b":"Une interface peut avoir des attributs, une classe abstraite non","option_c":"Elles sont identiques","option_d":"Une classe abstraite ne peut pas être instanciée, une interface si","option_e":"","option_f":"","bonne_reponse":"A","explication":"Une classe abstraite peut contenir des attributs et des méthodes concrètes, tandis qu'une interface ne peut contenir que des constantes et des méthodes abstraites (avant Java 8). Une classe abstraite ne peut pas être instanciée.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":2646,"question":"Quel mot-clé est utilisé en Java pour hériter d'une classe ?","option_a":"extends","option_b":"implements","option_c":"inherits","option_d":"super","option_e":"","option_f":"","bonne_reponse":"A","explication":"En Java, le mot-clé 'extends' est utilisé pour indiquer qu'une classe hérite d'une autre classe. Par exemple : 'class Enfant extends Parent'.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":2647,"question":"Que signifie le polymorphisme en programmation orientée objet ?","option_a":"La capacité d'une classe à avoir plusieurs méthodes de même nom","option_b":"La capacité d'un objet à prendre plusieurs formes selon le contexte","option_c":"La capacité à modifier les attributs d'une classe à l'exécution","option_d":"La capacité à créer plusieurs instances d'une classe","option_e":"","option_f":"","bonne_reponse":"B","explication":"Le polymorphisme permet à un objet d'être traité comme une instance de sa classe parente ou de ses interfaces, offrant flexibilité et réutilisabilité du code.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":2648,"question":"Dans le code suivant, quelle ligne provoque une erreur ? \u003Cbr\u003Eclass A { int x = 5; }\u003Cbr\u003Eclass B extends A { int x = 10; }\u003Cbr\u003Epublic class Main { public static void main(String[] args) { B b = new B(); System.out.println(b.x); } }","option_a":"Ligne 1 : class A { int x = 5; }","option_b":"Ligne 2 : class B extends A { int x = 10; }","option_c":"Ligne 3 : B b = new B();","option_d":"Ligne 4 : System.out.println(b.x);","option_e":"","option_f":"","bonne_reponse":"D","explication":"La ligne 'System.out.println(b.x);' affiche la valeur de l'attribut 'x' de la classe B (10), mais si on avait écrit 'System.out.println(((A)b).x);', cela aurait affiché 5. Cela illustre le masquage d'attributs, une source d'erreurs courante.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.