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.
Qu’est-ce qu’une classe en programmation orientée objet ?
Un modèle à partir duquel on crée des objets partageant des propriétés et des comportements communs.
Qu’est-ce qu’un objet par rapport à sa classe ?
Une instance de sa classe.
Quelles informations définissent un attribut d’objet ?
Un nom, un type et éventuellement une valeur initiale.
Que représente une méthode pour un objet ?
Son comportement ou ses actions.
À quoi sert une référence en programmation orientée objet ?
Elle permet d’accéder à un objet sans être l’objet lui-même.
Comment accède-t-on à un attribut à partir d’une référence ?
Avec la référence, un point, puis le nom de l’attribut.
Quels symboles UML indiquent public, protégé et privé ?
+, # et -, respectivement.
À qui un élément protégé est-il accessible en UML ?
À sa classe et aux classes héritières.
Quand un constructeur est-il appelé et que fait-il ?
Lors de la création de chaque objet, il initialise ses attributs.
Quel nom porte la méthode d’initialisation d’un constructeur en Python ?
`__init__`.
Qu’est-ce qu’une méthode en programmation orientée objet ?
Une procédure ou une fonction définie comme composante d’une classe.
Quelle forme prend l’appel d’une méthode d’instance sur un objet ?
nomObjet.nomMethode(arg1, arg2, ...).
Quel objectif la POO vise-t-elle pour les gros programmes ?
Faciliter leur conception, leur exploitation et leur maintenabilité.
Que rassemble une classe comme module compact selon la modularité ?
Des données et des comportements.
Quel effet la modularité cherche-t-elle à produire sur les applications ?
Réduire leur complexité.
Que masque l’abstraction à l’utilisateur ?
Les détails inutiles du fonctionnement des entités représentées.
Que permet la réutilisabilité d’une classe ?
La reprendre dans plusieurs programmes sans la redéfinir.
Que définit-on et écrit-on pour programmer en paradigme procédural ?
Des variables et des fonctions qui les traitent.
Quel problème la séparation des données et des traitements peut-elle causer dans les grandes applications ?
Elle peut compliquer la réutilisation du code et la maintenance.
Quelle idée la POO applique-t-elle pour décomposer un problème ?
L’idée « diviser pour régner ».
En quelle période les concepts de la POO apparaissent-ils ?
Vers la fin des années 1960.
Quel langage regroupe données et procédures en 1966 ?
Simula.
Quelles composantes une classe comporte-t-elle, en plus de son nom ?
Une composante statique d’attributs et une composante dynamique de méthodes.
Quels renseignements la classe Etudiant peut-elle décrire sur un étudiant ?
Son nom, son CIN, son année de naissance et ses notes.
Quels types de valeurs un attribut peut-il prendre ?
Un type simple ou un objet d’une autre classe.
Où et comment les attributs d’instance sont-ils souvent créés en Python ?
Dans `__init__`, avec `self.nom_attribut`.
Dans `etudiant.nom`, quel rôle joue `etudiant` ?
C’est la référence à l’objet.
Que définit la visibilité d’une classe ?
Qui peut accéder à ses informations ou appeler ses éléments.
Que signifie par convention un attribut Python préfixé par `_` ?
Il est considéré comme interne.
Que fait le préfixe `__` à un attribut Python ?
Il déclenche un mécanisme de renommage, sans garantir une confidentialité absolue.
Comment distingue-t-on les deux types de constructeurs dans le cours ?
Le constructeur sans paramètre est par défaut ; celui avec au moins un paramètre est paramétré.
Quelle initialisation une classe Python hérite-t-elle sans méthode `__init__` définie ?
L’initialisation par défaut de `object`.
À quoi est associé un destructeur ?
À la destruction d’un objet.
À quoi un destructeur peut-il servir ?
À libérer des ressources.
Pourquoi un destructeur explicite est-il généralement inutile en Python ?
Le ramasse-miettes gère automatiquement la mémoire.
Que faut-il faire des ressources externes comme les fichiers ou connexions réseau ?
Les nettoyer correctement.
Que précise l’entête d’une méthode ?
Son nom, son type de retour et ses paramètres d’entrée typés, éventuellement absents.
Dans calculer_somme, que représente self ?
L’objet courant.
Quel élément Python n’exige-t-il pas dans la signature d’une méthode ?
La déclaration du type des paramètres.
À quoi sert un paramètre de méthode ?
À fournir une valeur sur laquelle la méthode peut effectuer des opérations ou grâce à laquelle elle peut agir.
Que détermine la visibilité d’une méthode ?
Qui peut l’appeler.
En Python, que signalent les noms commençant par un ou deux tirets bas ?
Une intention de visibilité exprimée par convention de nommage.
Que fait l’utilisateur pour attribuer une note à un étudiant ?
Il sélectionne l’étudiant et saisit la note.
Quel effet l’héritage entre classes aide-t-il à obtenir sur le code ?
Éviter sa duplication.
Quel avantage de maintenance la POO apporte-t-elle ?
Une maintenance facilitée.
Teste tes connaissances avec un QCM de 21 questions sur Programmation orientée objet.
1. Comment la programmation procédurale organise-t-elle les données et les traitements ?
2. Dans une application orientée objet, comment les objets contribuent-ils à accomplir les tâches ?
Révisez le cours complet dans la fiche de révision de Programmation orientée objet.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards