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 :
- B
- B
- B
- B
- B
- B
- A
- B
- B
- C
- B
- B
- B
- A
- A
- C
- B
- B
- B
- 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 :
- A
- B
- B
- C
- B
- A
- A
- B
- B
- B
- A
- B
- A
- A
- B
- A
- B
- B
- B
- B