QCM Programmation Orientée Objet

 Question 1 : Qu'est-ce que la Programmation Orientée Objet ?

  • A) Un paradigme de programmation basé sur des fonctions
  • B) Un paradigme de programmation basé sur des objets et des classes
  • C) Un langage de programmation spécifique
  • D) Un style de codage pour les applications web

Question 2 : Quel est le principe fondamental de l'encapsulation ?

  • A) Les classes peuvent hériter d'autres classes
  • B) Les objets cachent leur état interne et exposent des méthodes pour y accéder
  • C) Les objets peuvent être comparés entre eux
  • D) Les classes ne peuvent pas interagir entre elles

Question 3 : Quelle est la fonction d'une classe en POO ?

  • A) Exécuter des instructions
  • B) Définir un modèle pour créer des objets
  • C) Manipuler des données directement
  • D) Compiler le code source

Question 4 : Qu'est-ce qu'un objet ?

  • A) Une variable globale
  • B) Une instance d'une classe
  • C) Une méthode définie dans une classe
  • D) Une fonction de bibliothèque

Question 5 : Quel est le principe de l'héritage ?

  • A) Un objet peut avoir plusieurs classes parents
  • B) Une classe peut hériter des caractéristiques d'une autre classe
  • C) Une méthode peut être redéfinie dans une classe enfant
  • D) Les objets ne peuvent pas interagir

Question 6 : Qu'est-ce qu'une méthode ?

  • A) Un type de variable
  • B) Une fonction définie dans une classe
  • C) Un modèle pour créer des objets
  • D) Un attribut d'une classe

Question 7 : Quelle est la différence entre méthodes publiques et méthodes privées ?

  • A) Les méthodes publiques sont accessibles depuis l'extérieur de la classe, tandis que les méthodes privées ne le sont pas
  • B) Les méthodes publiques ne peuvent pas être redéfinies, tandis que les méthodes privées le peuvent
  • C) Les méthodes privées n'existent pas en POO
  • D) Les méthodes publiques ne prennent pas de paramètres, tandis que les méthodes privées le peuvent

Question 8 : Qu'est-ce que le polymorphisme ?

  • A) La capacité d'un objet à changer de type
  • B) La possibilité d'utiliser une interface commune pour des objets de classes différentes
  • C) La duplication d'objets
  • D) La capacité d'une classe à hériter de plusieurs classes

Question 9 : Quelle est la signification de constructeur en POO ?

  • A) Une méthode qui détruit un objet
  • B) Une méthode qui initialise un nouvel objet
  • C) Une méthode pour cloner un objet
  • D) Une fonction pour modifier l'état d'un objet

Question 10 : Qu'est-ce qu'un destructeur ?

  • A) Une méthode qui crée un nouvel objet
  • B) Une méthode qui supprime un objet
  • C) Une méthode qui libère les ressources avant qu'un objet ne soit détruit
  • D) Une fonction pour copier un objet

Question 11 : Qu'est-ce qu'une interface ?

  • A) Une classe sans méthodes
  • B) Un contrat qui définit des méthodes sans fournir d'implémentation
  • C) Une méthode d'une classe
  • D) Un type de variable

Question 12 : Quel est le rôle des attributs dans une classe ?

  • A) Exécuter des fonctions
  • B) Stocker des données liées à l'objet
  • C) Créer des objets
  • D) Définir des types de données

Question 13 : Qu'est-ce que la composition en POO ?

  • A) L'héritage d'une classe à une autre
  • B) Une relation entre objets où un objet est constitué d'autres objets
  • C) Un moyen de redéfinir des méthodes
  • D) Un type d'interface

Question 14 : Quelle est la différence entre une classe abstraite et une interface ?

  • A) Une classe abstraite peut contenir des implémentations, tandis qu'une interface ne peut pas
  • B) Une classe abstraite ne peut pas être instanciée, tandis qu'une interface peut
  • C) Les deux sont identiques
  • D) Une interface peut avoir des attributs, tandis qu'une classe abstraite ne le peut pas

Question 15 : Qu'est-ce que la surcharge de méthodes ?

  • A) Avoir plusieurs méthodes avec le même nom dans la même classe, mais avec des paramètres différents
  • B) Avoir plusieurs classes avec le même nom
  • C) Avoir une méthode qui appelle une autre méthode
  • D) Modifier une méthode existante dans une classe enfant

Question 16 : Quel est l'objectif principal de la POO ?

  • A) Simplifier le code
  • B) Réduire les erreurs
  • C) Réutiliser le code et améliorer la maintenance
  • D) Augmenter la vitesse d'exécution

Question 17 : Qu'est-ce que le diamond problem en POO ?

  • A) Un problème de performance dans les systèmes POO
  • B) Un problème d'héritage multiple où une classe hérite de deux classes qui ont une méthode commune
  • C) Un problème lié aux interfaces
  • D) Un problème de conception d'interface utilisateur

Question 18 : Quelle est la fonction d'une classe fille ?

  • A) Instancier des objets
  • B) Hériter des propriétés et des méthodes d'une classe parente
  • C) Détruire des objets
  • D) Créer des attributs

Question 19 : Qu'est-ce qu'une exception en POO ?

  • A) Une erreur de syntaxe
  • B) Un événement qui se produit lors de l'exécution du programme et qui nécessite une gestion spéciale
  • C) Une méthode qui ne peut pas être exécutée
  • D) Une variable non déclarée

Question 20 : Quelle méthode est souvent utilisée pour gérer les exceptions en POO ?

  • A) try/catch
  • B) if/else
  • C) while/for
  • D) do/while

Réponses :

  1. B
  2. B
  3. B
  4. B
  5. B
  6. B
  7. A
  8. B
  9. B
  10. C
  11. B
  12. B
  13. B
  14. A
  15. A
  16. C
  17. B
  18. B
  19. B
  20. A

Partie 2

Question 1 : Quel est l'objectif de l'abstraction en POO ?

  • A) Masquer les détails de l'implémentation et montrer uniquement les fonctionnalités essentielles
  • B) Créer des instances d'objets
  • C) Définir des méthodes
  • D) Modifier des attributs

Question 2 : Qu'est-ce qu'une relation d'association ?

  • A) Une classe hérite d'une autre classe
  • B) Une classe utilise une autre classe sans héritage
  • C) Deux classes sont identiques
  • D) Une classe est une spécialisation d'une autre classe

Question 3 : Quel est le rôle d'un getter ?

  • A) Modifier la valeur d'un attribut
  • B) Accéder à la valeur d'un attribut
  • C) Créer un nouvel objet
  • D) Supprimer un objet

Question 4 : Quel est le but d'un setter ?

  • A) Lire la valeur d'un attribut
  • B) Créer une nouvelle instance
  • C) Modifier la valeur d'un attribut
  • D) Détruire un objet

Question 5 : Qu'est-ce qu'un namespace ?

  • A) Un type de classe
  • B) Un mécanisme pour éviter les collisions de noms dans un programme
  • C) Une méthode d'une classe
  • D) Une fonction d'entrée/sortie

Question 6 : Que signifie Liskov Substitution Principle (LSP) ?

  • A) Les objets d'une classe dérivée doivent pouvoir remplacer ceux de la classe de base sans affecter le comportement du programme
  • B) Les classes doivent être héritées de manière unique
  • C) Les méthodes doivent avoir des signatures identiques
  • D) Les attributs doivent être privés

Question 7 : Quelle est la différence entre public, protected, et private en termes de visibilité ?

  • A) public est visible partout, protected est visible dans la classe et ses sous-classes, private est visible uniquement dans la classe
  • B) private est visible partout, public est visible uniquement dans la classe
  • C) protected est visible partout, public est visible uniquement dans la classe
  • D) public est visible uniquement dans la classe, protected est visible partout

Question 8 : Qu'est-ce qu'un interface fonctionnelle ?

  • A) Une interface avec plusieurs méthodes
  • B) Une interface avec une seule méthode abstraite
  • C) Une interface sans méthodes
  • D) Une interface avec des méthodes statiques

Question 9 : Quelle est la fonctionnalité principale du design pattern Strategy ?

  • A) Regrouper des classes similaires
  • B) Encapsuler des algorithmes interchangeables
  • C) Créer des objets singleton
  • D) Gérer des événements

Question 10 : Qu'est-ce qu'un singleton ?

  • A) Une classe qui peut être instanciée plusieurs fois
  • B) Une classe qui ne peut avoir qu'une seule instance
  • C) Une classe qui est abstraite
  • D) Une classe avec des méthodes statiques uniquement

Question 11 : Que fait le keyword super dans les langages orientés objet ?

  • A) Appelle le constructeur de la classe parente
  • B) Appelle une méthode statique
  • C) Détruit l'objet courant
  • D) Redéfinit une méthode

Question 12 : Qu'est-ce que l'injection de dépendance ?

  • A) Une technique pour créer des objets dynamiquement
  • B) Un moyen de déléguer la création d'objets à une autre classe
  • C) Une méthode pour créer des classes abstraites
  • D) Une technique pour optimiser les performances

Question 13 : Quelle est la différence entre une classe abstraite et une interface ?

  • A) Une classe abstraite peut avoir des implémentations, une interface ne peut pas
  • B) Une interface peut avoir des variables d'instance, une classe abstraite ne peut pas
  • C) Une classe abstraite ne peut pas être héritée, une interface peut l'être
  • D) Il n'y a pas de différence

Question 14 : Qu'est-ce qu'un métaclasse ?

  • A) Une classe qui crée d'autres classes
  • B) Un type de méthode
  • C) Une fonction statique
  • D) Une classe abstraite

Question 15 : Qu'est-ce que le pattern Observer ?

  • A) Un moyen de créer des objets de manière dynamique
  • B) Un modèle qui définit une relation entre des objets où un changement d'état d'un objet notifie les autres
  • C) Un moyen d'hériter des méthodes d'une classe
  • D) Un modèle de conception pour gérer des interfaces

Question 16 : Quelle est la fonction principale d'un trait ?

  • A) Regrouper des méthodes partagées entre plusieurs classes
  • B) Définir des variables d'instance
  • C) Créer des classes abstraites
  • D) Encapsuler des données

Question 17 : Qu'est-ce que le pattern Decorator ?

  • A) Un moyen de créer une classe sans attributs
  • B) Un modèle pour ajouter dynamiquement des fonctionnalités à un objet
  • C) Un moyen d'hériter des méthodes d'une classe
  • D) Un modèle pour créer des objets sans état

Question 18 : Qu'est-ce qu'une exception personnalisée ?

  • A) Une exception qui n'est pas gérée par le système
  • B) Une exception définie par l'utilisateur pour gérer des erreurs spécifiques
  • C) Une exception qui provient d'une bibliothèque tierce
  • D) Une exception qui est automatiquement levée par le compilateur

Question 19 : Quelle méthode est utilisée pour lancer une exception ?

  • A) raise
  • B) throw
  • C) catch
  • D) handle

Question 20 : Qu'est-ce qu'un package en POO ?

  • A) Un moyen de regrouper des fichiers
  • B) Un groupe de classes et d'interfaces
  • C) Une classe abstraite
  • D) Un type de méthode

Réponses :

  1. A
  2. B
  3. B
  4. C
  5. B
  6. A
  7. A
  8. B
  9. B
  10. B
  11. A
  12. B
  13. A
  14. A
  15. B
  16. A
  17. B
  18. B
  19. B
  20. B

Plus récente Plus ancienne

نموذج الاتصال