QCM : Programmation orientée objet (21 questions)

Questions et réponses du QCM

1. Comment la programmation procédurale organise-t-elle les données et les traitements ?

Elle regroupe les données dans des classes et les traitements dans des objets.
Elle rassemble les données et les traitements dans des objets communicants.
Elle sépare les données des procédures ou fonctions qui les manipulent.
Elle organise les données en objets qui délèguent leurs traitements aux fonctions.

Elle sépare les données des procédures ou fonctions qui les manipulent.

Explication

Dans le paradigme procédural, les procédures ou fonctions manipulent des données qui restent distinctes des traitements. À l’inverse, réunir données et traitements dans des objets caractérise la programmation orientée objet.

2. Dans une application orientée objet, comment les objets contribuent-ils à accomplir les tâches ?

Ils stockent des données tandis que des procédures indépendantes réalisent les traitements.
Ils transmettent des données à des fonctions qui contiennent les traitements séparément.
Ils servent de modèles qui décrivent des fonctions sans contenir de données.
Ils communiquent entre eux et réunissent chacun des données et des traitements.

Ils communiquent entre eux et réunissent chacun des données et des traitements.

Explication

La programmation orientée objet décompose l’application en objets qui communiquent et associent données et traitements. L’organisation en données séparées manipulées par des procédures indépendantes correspond plutôt au paradigme procédural.

3. Quelle unité constitue le principal élément de travail en programmation procédurale et en programmation orientée objet, respectivement ?

La fonction en programmation procédurale et l’objet en programmation orientée objet.
L’objet en programmation procédurale et la fonction en programmation orientée objet.
La classe en programmation procédurale et la variable en programmation orientée objet.
La variable en programmation procédurale et la classe en programmation orientée objet.

La fonction en programmation procédurale et l’objet en programmation orientée objet.

Explication

L’unité de travail est la fonction dans le paradigme procédural, tandis que le paradigme orienté objet prend l’objet comme unité. La classe sert de modèle aux objets, mais ce n’est pas l’unité indiquée pour ces deux paradigmes.

4. Quel rôle joue une classe dans la création d’objets ?

Elle représente l’état courant d’un objet en enregistrant les valeurs de ses attributs.
Elle désigne un objet particulier dont les propriétés et les comportements sont déjà individualisés.
Elle décrit une action que les objets exécutent lorsqu’ils reçoivent une demande.
Elle sert de modèle à partir duquel sont créés des objets aux propriétés et comportements communs.

Elle sert de modèle à partir duquel sont créés des objets aux propriétés et comportements communs.

Explication

Une classe est un modèle, comparable à un type, qui permet de créer des objets partageant des propriétés et des comportements communs. Un objet particulier est une instance de cette classe, et non le modèle lui-même.

5. Dans la description d’un objet, que désigne un attribut ?

Un modèle général qui sert à créer plusieurs objets dotés de caractéristiques communes.
Une action associée à l’objet, décrite par un nom et déclenchée pour produire un comportement.
Une valeur temporaire qui décrit une opération sans faire partie des propriétés de l’objet.
Une propriété définie par un nom et un type, éventuellement dotée d’une valeur initiale, qui caractérise son état.

Une propriété définie par un nom et un type, éventuellement dotée d’une valeur initiale, qui caractérise son état.

Explication

Un attribut, ou champ, est une propriété définie par un nom et un type, avec éventuellement une valeur initiale, qui caractérise l’état de l’objet. Une action ou un comportement correspond à une méthode plutôt qu’à un attribut.

6. Que représente une méthode dans la description d’un objet ?

Une valeur initiale assignée à un champ lors de la création d’un objet.
Un modèle qui définit les propriétés communes à plusieurs objets.
Une propriété qui conserve une valeur caractérisant l’état de l’objet.
Un comportement ou une action que l’objet peut réaliser.

Un comportement ou une action que l’objet peut réaliser.

Explication

Une méthode représente le comportement ou les actions d’un objet. Une propriété qui conserve une valeur relève plutôt d’un attribut, lequel contribue à caractériser l’état de l’objet.

7. Deux objets de même classe ont des valeurs différentes pour leurs attributs. Quelle conclusion décrit correctement leur état ?

Leur état diffère, car il correspond aux valeurs actuelles de leurs attributs.
Leur comportement diffère nécessairement, car il correspond aux valeurs de leurs méthodes.
Leur état est identique, car il est déterminé par le nom de leur classe.
Leur modèle diffère, car chaque combinaison de valeurs définit une nouvelle classe.

Leur état diffère, car il correspond aux valeurs actuelles de leurs attributs.

Explication

L’état d’un objet correspond aux valeurs actuelles de ses attributs ; des valeurs différentes impliquent donc des états différents. Le fait que deux objets partagent une classe ne rend pas identiques leurs valeurs d’attributs.

8. Que représente une référence à un objet ?

Le modèle de classe utilisé pour créer l’objet et définir ses comportements.
Un moyen d’accéder à l’objet qui représente son adresse en mémoire sans être l’objet lui-même.
Une copie de l’objet qui contient directement ses attributs et ses méthodes.
Une méthode de l’objet qui initialise ses attributs pendant sa création.

Un moyen d’accéder à l’objet qui représente son adresse en mémoire sans être l’objet lui-même.

Explication

Une référence permet d’accéder à un objet sans être cet objet et représente son adresse en mémoire, à la manière d’un pointeur vers son emplacement. Une référence n’est donc ni une copie de l’objet ni le modèle de classe qui l’a produit.

9. Comment écrit-on l’accès à un attribut nommé « solde » par l’intermédiaire d’une référence nommée « compte » ?

compte:solde
solde.compte
compte->solde
compte.solde

compte.solde

Explication

L’accès à un attribut s’écrit avec la référence de l’objet, un point, puis le nom de l’attribut : « compte.solde ». L’ordre inverse place l’attribut avant la référence et ne suit pas cette règle.

10. Quels symboles UML indiquent respectivement une visibilité publique, protégée et privée ?

- , + et #.
+, # et -.
+, - et #.
#, - et +.

+, # et -.

Explication

En UML, le signe « + » marque le public, « # » le protégé et « - » le privé. L’ordre « #, -, + » attribuerait à ces visibilités des symboles différents de ceux définis.

11. Quelles sont les deux étapes de l’instanciation d’un objet ?

Définir les méthodes de l’objet, puis copier son état dans sa classe.
Créer une référence vers la classe, puis remplacer la classe par les attributs de l’objet.
Créer l’objet en mémoire à partir de sa classe, puis initialiser ses attributs.
Initialiser les attributs dans la classe, puis transformer la classe en référence.

Créer l’objet en mémoire à partir de sa classe, puis initialiser ses attributs.

Explication

L’instanciation consiste d’abord à créer l’objet en mémoire à partir de sa classe, puis à initialiser ses attributs. Définir des méthodes ne constitue pas la première étape de ce processus.

12. Lorsqu’un objet est créé, quel est le rôle du constructeur ?

Définir les opérations que tous les objets de la classe peuvent effectuer
Libérer les ressources de l’objet au moment de sa destruction
Contrôler les modifications des attributs après la création de l’objet
Initialiser les attributs de l’objet, avec éventuellement des paramètres, sans valeur de retour

Initialiser les attributs de l’objet, avec éventuellement des paramètres, sans valeur de retour

Explication

Le constructeur est appelé lors de la création de chaque objet pour initialiser ses attributs et n’a pas de type de retour. Le destructeur est associé à la destruction de l’objet, et non à son initialisation.

13. Quelle méthode Python sert à initialiser un objet lors de sa création ?

__del__
__main__
__init__
__new__

__init__

Explication

En Python, la méthode d’initialisation du constructeur est __init__. La méthode __del__ est associée à la destruction de l’objet, et non à son initialisation.

14. Quelle description caractérise l’encapsulation dans un objet ?

Elle sépare les données du code afin que chaque objet ne contienne qu’un seul type d’élément
Elle organise les classes selon une relation parent-enfant pour partager du code
Elle réunit les données et le code, tout en pouvant protéger et masquer des informations
Elle transforme les méthodes en attributs accessibles aux autres objets

Elle réunit les données et le code, tout en pouvant protéger et masquer des informations

Explication

L’encapsulation rassemble les attributs et les méthodes dans un même objet, tout en pouvant protéger ou masquer ses informations. La relation parent-enfant relève de l’héritage, pas de l’encapsulation.

15. Une classe cherche à éviter que d’autres parties du programme modifient directement ses attributs. Quel rôle de l’encapsulation répond à cet objectif ?

Limiter l’accès direct et proposer des méthodes pour contrôler les modifications
Créer automatiquement une copie de l’objet avant chaque modification
Remplacer les attributs par des paramètres transmis au constructeur
Empêcher les méthodes de la classe de consulter ses propres attributs

Limiter l’accès direct et proposer des méthodes pour contrôler les modifications

Explication

L’encapsulation limite l’accès direct aux attributs et permet de contrôler leur modification au moyen de méthodes spécifiques. Elle ne crée pas automatiquement de copies de l’objet lors des modifications.

16. Qu’est-ce qu’une méthode dans une classe ?

Un objet créé à partir d’une classe et doté de ses propres attributs
Un mécanisme qui initialise les attributs avant chaque appel de fonction
Une procédure ou une fonction définie comme composante de la classe, avec un corps d’instructions
Une valeur stockée dans un attribut et destinée à décrire l’état d’un objet

Une procédure ou une fonction définie comme composante de la classe, avec un corps d’instructions

Explication

Une méthode est une procédure ou une fonction qui fait partie d’une classe et comporte un corps d’instructions. Une valeur décrivant l’état d’un objet correspond plutôt à un attribut.

17. Comment appelle-t-on une méthode d’instance pour un objet nommé compte ?

En écrivant compte, un point, le nom de la méthode et ses arguments entre parenthèses
En écrivant compte entre parenthèses après le nom de la méthode, sans séparateur
En écrivant le nom de la classe, deux-points, puis le nom de la méthode sans arguments
En écrivant le nom de la méthode, un point, compte et ses arguments entre parenthèses

En écrivant compte, un point, le nom de la méthode et ses arguments entre parenthèses

Explication

Une méthode d’instance s’appelle en utilisant la référence de l’objet, un point, le nom de la méthode et ses arguments. Placer l’objet après le nom de la méthode ne respecte pas cette forme d’appel.

18. Quel objectif général la programmation orientée objet poursuit-elle pour les gros programmes ?

Faciliter leur conception, leur exploitation et leur maintenabilité
Éviter toute évolution du programme après sa mise en service
Remplacer les tests par une organisation du code fondée sur des objets
Accélérer leur exécution en réduisant systématiquement le nombre de classes

Faciliter leur conception, leur exploitation et leur maintenabilité

Explication

La POO vise à faciliter la conception, l’exploitation et la maintenabilité des gros programmes. Elle ne garantit pas à elle seule une exécution plus rapide ni ne remplace les tests.

19. Une application est organisée en classes compactes rassemblant données et comportements. Quel avantage de la POO cette organisation illustre-t-elle ?

L’abstraction, qui masque les détails inutiles à l’utilisateur
La réutilisabilité, qui permet de reprendre une classe dans plusieurs programmes
La modularité, qui aide à réduire la complexité de l’application
L’héritage, qui aide à éviter la duplication de code entre classes

La modularité, qui aide à réduire la complexité de l’application

Explication

La modularité organise les données et les comportements dans des classes compactes, ce qui contribue à réduire la complexité. L’abstraction consiste plutôt à masquer à l’utilisateur les détails inutiles du fonctionnement.

20. Dans une application, l’utilisateur déclenche une opération sans avoir à connaître ses détails internes. Quel principe de la POO est illustré ?

La modularité, qui rassemble les données et les comportements dans une classe
L’abstraction, qui masque les détails inutiles du fonctionnement
L’héritage, qui permet à une classe de tirer parti d’une autre
La réutilisabilité, qui permet de reprendre une classe dans plusieurs programmes

L’abstraction, qui masque les détails inutiles du fonctionnement

Explication

L’abstraction représente des entités proches du monde réel tout en masquant les détails de fonctionnement inutiles à l’utilisateur. La modularité concerne plutôt le regroupement des données et comportements dans des classes compactes.

21. Une classe est reprise dans plusieurs programmes sans être redéfinie à chaque fois. Quel avantage cela illustre-t-il ?

La modularité, qui répartit les données et comportements en classes compactes
La réutilisabilité des classes d’un programme à l’autre
L’encapsulation, qui limite l’accès direct aux attributs d’un objet
L’abstraction, qui cache le fonctionnement interne à l’utilisateur

La réutilisabilité des classes d’un programme à l’autre

Explication

La réutilisabilité permet de reprendre une classe dans plusieurs programmes sans devoir la redéfinir. La modularité concerne l’organisation du programme en classes compactes, et non la reprise d’une classe dans différents programmes.

Révisez avec les flashcards

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

Comment la programmation procédurale organise-t-elle un programme ?

Elle le découpe en procédures ou fonctions qui manipulent des données séparées de leurs traitements.

Comment la programmation orientée objet organise-t-elle une application ?

En objets communicants réunissant chacun des données et des traitements.

Quelle est l’unité de travail en programmation procédurale ?

La fonction.

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