QCM : Programmation orientée objet (15 questions)

Questions et réponses du QCM

1. Qu’est-ce qu’un paradigme de programmation ?

Un logiciel particulier servant à écrire et exécuter un programme
Une bibliothèque regroupant des fonctions prêtes à être appelées
Une syntaxe imposée pour déclarer les variables et les instructions
Une manière de concevoir un programme et d’aborder le problème à résoudre

Une manière de concevoir un programme et d’aborder le problème à résoudre

Explication

Un paradigme est une philosophie qui oriente la conception du programme et la manière d’aborder le problème. Un outil particulier peut être choisi après l’adoption d’un paradigme, mais il ne constitue pas le paradigme lui-même.

2. Quelle différence caractérise la programmation impérative et la programmation orientée objet ?

La programmation impérative utilise des objets, tandis que la programmation orientée objet décrit une suite d’étapes sans structure particulière
La programmation impérative concerne les données, tandis que la programmation orientée objet concerne exclusivement les instructions
La programmation impérative repose sur des méthodes, tandis que la programmation orientée objet impose une exécution étape par étape
La programmation impérative décrit les étapes, tandis que la programmation orientée objet organise le programme autour d’objets et de méthodes

La programmation impérative décrit les étapes, tandis que la programmation orientée objet organise le programme autour d’objets et de méthodes

Explication

La programmation impérative indique explicitement les étapes à exécuter, alors que la programmation orientée objet structure la conception autour d’objets et de leurs méthodes. Confondre ces deux approches revient à attribuer à chaque paradigme le principe de l’autre.

3. En Python, quel est le type de l’objet créé par l’instruction m = [4, 5, 2] ?

Le type set
Le type dict
Le type tuple
Le type list

Le type list

Explication

Les crochets utilisés dans cette instruction créent une liste, dont le type Python est list. Les types tuple, dict et set correspondent à d’autres structures de données et à d’autres syntaxes.

4. Après l’exécution de m.reverse() sur m = [4, 5, 2], quelle valeur possède m ?

[4, 5, 2]
[4, 2, 5]
[5, 4, 2]
[2, 5, 4]

[2, 5, 4]

Explication

La méthode reverse inverse l’ordre des éléments de la liste et transforme donc m en [2, 5, 4]. La fonction dir ne réalise pas cette transformation : elle sert à énumérer les fonctionnalités disponibles.

5. Que signifie l’encapsulation dans la programmation orientée objet ?

Remplacer les méthodes d’un objet par une suite d’instructions externes
Utiliser un objet et ses méthodes sans connaître leur implémentation interne
Rendre les données d’un objet visibles dans toutes les parties du programme
Modifier directement le code interne d’un objet avant chaque utilisation

Utiliser un objet et ses méthodes sans connaître leur implémentation interne

Explication

L’encapsulation permet d’utiliser un objet à travers ses méthodes sans connaître les détails de leur fonctionnement interne. Elle ne consiste donc pas à modifier ce fonctionnement ni à exposer directement toutes les données.

6. Quelle définition décrit correctement une classe en programmation orientée objet ?

Une action exécutée pour modifier les données d’un objet
Une structure de données qui définit une catégorie générique d’objets
Une caractéristique décrivant l’état d’un objet donné
Une valeur particulière créée à partir d’une catégorie d’objets

Une structure de données qui définit une catégorie générique d’objets

Explication

Une classe définit une catégorie générique d’objets et leur structure de référence. Une valeur particulière relève plutôt d’un objet ou d’une instance, tandis qu’une caractéristique est un attribut et une action correspond à une fonctionnalité ou une méthode.

7. Qu’est-ce qu’un objet dans le cadre de la programmation orientée objet ?

Une caractéristique comme une couleur, un âge ou un surnom
Une procédure indépendante qui décrit les étapes d’un calcul
Un élément particulier, instance d’une classe, qui possède des attributs et des fonctionnalités
Une catégorie générique servant à définir plusieurs éléments de même nature

Un élément particulier, instance d’une classe, qui possède des attributs et des fonctionnalités

Explication

Un objet est un élément particulier créé comme instance d’une classe et doté d’attributs ainsi que de fonctionnalités. La catégorie générique correspond à la classe, tandis qu’une couleur ou un âge constitue plutôt un attribut.

8. Dans la modélisation d’un chat, quelle relation entre Garfield et la classe chat est correcte ?

Garfield est une classe générique dont chat est une instance particulière
Garfield est une méthode de la classe chat servant à créer ses objets
Garfield est un objet qui constitue une instance de la classe chat
Garfield est un attribut de la classe chat, au même titre que la couleur

Garfield est un objet qui constitue une instance de la classe chat

Explication

Garfield représente un chat particulier et constitue donc une instance concrète de la classe chat. La classe chat désigne la catégorie générique, et Garfield n’est ni un attribut ni une méthode.

9. Quelle méthode Python est appelée automatiquement lors de la création d’un objet afin de lui attribuer les caractéristiques de sa classe ?

La méthode __init__()
La méthode __str__()
La méthode __del__()
La méthode __call__()

La méthode __init__()

Explication

La méthode __init__() sert de constructeur et s’exécute lors de la création de l’objet pour initialiser ses caractéristiques. La méthode __del__() concerne la destruction de l’objet, tandis que les autres méthodes ont d’autres usages.

10. Dans une méthode de classe qui utilise les attributs de l’objet, à quoi fait référence le paramètre self ?

À l’objet courant manipulé par la méthode
À la classe qui contient la méthode appelée
À un nouvel objet créé par la méthode
À la valeur fournie pour le premier attribut

À l’objet courant manipulé par la méthode

Explication

Le paramètre self désigne l’objet courant en cours de construction ou de manipulation. Les autres paramètres transmettent des valeurs à la méthode et ne représentent pas l’objet lui-même.

11. Une voiture créée avec l’année 2012 possède un attribut age calculé par 2025 - self.annee ; quelle valeur cet attribut prend-il ?

15
13
11
12

13

Explication

Le calcul donne 2025−2012=132025 - 2012 = 13, donc l’attribut age vaut 13. Les autres valeurs résultent d’un calcul avec une année de référence ou une soustraction incorrecte.

12. Comment une méthode personnalisée utilisant les attributs d’un objet est-elle définie puis appelée en Python ?

Elle est définie dans le constructeur avec pass, puis appelée par son nom seul
Elle est définie dans la classe avec def, puis appelée sur l’instance avec un point
Elle est définie hors de la classe avec return, puis appelée avec deux points
Elle est définie sur l’instance avec class, puis appelée dans la classe avec une virgule

Elle est définie dans la classe avec def, puis appelée sur l’instance avec un point

Explication

Une méthode personnalisée se définit dans la classe avec def, reçoit self lorsqu’elle accède aux attributs, puis s’appelle sur une instance avec la notation par point. Une définition et un appel sont donc deux étapes distinctes, contrairement à la confusion proposée par les autres choix.

13. Que produit l’appel batmobile.petite_annonce() pour batmobile = Voiture(2036, "noire", 325) ?

Une annonce indiquant sa couleur, son année et une vitesse maximale de 325 km/h
Une description de la classe Voiture sans mentionner les caractéristiques de batmobile
Un message indiquant que la méthode appartient à l’instance et non à la classe
Une liste contenant ses coordonnées, son âge et une vitesse minimale de 325 km/h

Une annonce indiquant sa couleur, son année et une vitesse maximale de 325 km/h

Explication

L’appel sur batmobile utilise les attributs de cette instance pour afficher sa couleur, son année et sa vitesse maximale de 325 km/h. La méthode est définie dans la classe Voiture, mais son exécution concerne l’instance batmobile.

14. Pour A = Point(3, 5), quelles valeurs obtient-on en consultant A.x et A.y ?

A.x = 3 et A.y = 8
A.x = 5 et A.y = 3
A.x = 8 et A.y = 5
A.x = 3 et A.y = 5

A.x = 3 et A.y = 5

Explication

Dans cette classe, x représente l’abscisse et y représente l’ordonnée ; le point A possède donc l’abscisse 3 et l’ordonnée 5. Inverser les deux coordonnées confond les rôles de A.x et A.y.

15. Dans un repère orthonormé, que renvoie la méthode distance() ajoutée à la classe Point ?

La somme des coordonnées du point par rapport à l’axe des abscisses
La différence entre l’ordonnée et l’abscisse du point
La valeur de l’abscisse mesurée depuis l’axe des ordonnées
La distance du point par rapport à l’origine du repère

La distance du point par rapport à l’origine du repère

Explication

La méthode distance() calcule la distance entre le point et l’origine du repère dans un repère orthonormé. Les coordonnées x et y décrivent la position du point, mais ne correspondent pas à elles seules à cette distance.

Révisez avec les flashcards

Mémorisez les réponses avec 34 flashcards sur Programmation orientée objet.

Qu'est-ce qu'un paradigme de programmation ?

Une philosophie pour concevoir un programme et aborder un problème.

Comment la programmation impérative guide-t-elle l'ordinateur ?

Elle indique explicitement les étapes à suivre pour un résultat.

Sur quoi la programmation orientée objet organise-t-elle la conception ?

Sur des objets et leurs méthodes.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Programmation orientée objet.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM