★ À maîtriser
📌 Le statut public rend un membre accessible depuis l’extérieur, protected le rend accessible depuis la classe et ses classes dérivées, tandis que private le limite à la classe elle-même.
📌 Le contrôle d’accès non public interdit l’accès direct aux données et permet à des méthodes publiques de vérifier leur validité avant écriture.
Compléments
En UML, les symboles +, # et - représentent respectivement les statuts public, protected et private, tandis que le statut package n’est pas disponible en C++.
Le mot-clé friend permet d’accorder des droits particuliers à une classe ou à une méthode malgré les statuts private, protected et public.
Public ouvre l’accès, protected le réserve aux héritiers, private le ferme aux héritiers.
★ À maîtriser
📌 Une classe est un type ou un modèle, tandis qu’un objet est une instance représentant cette classe et contenant ses données.
Compléments
📌 Si aucun constructeur par défaut n’est écrit, le compilateur en génère automatiquement un ; un constructeur écrit par le programmeur surcharge cette version générée.
Construire, utiliser, copier, détruire.
📌 L’opérateur . permet d’accéder aux attributs et aux méthodes d’un objet lorsque le membre est accessible selon son statut.
📌 La définition immédiate regroupe les données et le code des méthodes dans un seul fichier, tandis que la définition différée place les déclarations dans un fichier .h et les définitions dans un fichier .cpp.
Définition immédiate = simple mais limitée ; définition différée = adaptée aux projets.
📌 Les setters doivent être utilisés à chaque écriture d’une donnée afin de maintenir sa validité, et les getters permettent d’interdire la lecture directe de l’attribut.
Données masquées → getters/setters ; données partagées → static.
📌 Les paramètres d’une Fenetre doivent respecter les limites d’une console de 80 colonnes et 25 lignes, notamment x compris entre 0 et 79.
Fenetre utilise Position → Fenetre dépend de Position.
★ À maîtriser
Compléments
📌 Lors de la création d’une Fenetre, son attribut Position est construit par défaut avec le constructeur par défaut de Position si aucun constructeur spécifique n’est appelé.
Une Fenetre contient une Position comme un cadre contient son coin d’ancrage.
★ À maîtriser
📌 Une association doit être instanciée explicitement, par exemple en affectant à Fenetre l’adresse d’un objet ListePersonnes avec setPtrListePersonnes(&listepersonnes).
Compléments
Personne → ListePersonnes → Fenetre.
Relations entre classes
| Relation | Implémentation C++ | Représentation UML | Sens |
|---|---|---|---|
| Dépendance | Utilisation d’une autre classe dans une méthode | Trait pointillé avec flèche | Unidirectionnel |
| Composition | Attribut objet contenu | Relation de composition | Contenant vers contenu |
| Association | Pointeur ou référence | Trait plein avec flèche | Lien permanent |
Teste tes connaissances sur POO C++ et encapsulation avec 24 questions à choix multiples et corrections détaillées.
1. Que réalise principalement l’encapsulation dans une classe ?
2. Quelle distinction décrit correctement une classe et les données d’un objet ?
Mémorisez les concepts clés de POO C++ et encapsulation avec 43 flashcards interactives.
Qu'est-ce que l'encapsulation en programmation orientée objet ?
L'encapsulation fusionne données et fonctions dans une classe.
Que définit une classe en programmation orientée objet ?
Une classe définit des attributs et des méthodes sans contenir les données d'un objet.
Que signifie le statut public pour un membre d'une classe ?
Il rend le membre accessible depuis l'extérieur.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches