Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFabien Garon Modifié depuis plus de 8 années
1
GPA789 Analyse et conception orientées objet Dérivation des classes en C++
2
GPA789 Analyse et conception orientées objet Dérivation des classes en C++ Précisions et exemples BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE
3
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE En C++, le concept d’héritage est réalisé à l’aide de la dérivation des classes;En C++, le concept d’héritage est réalisé à l’aide de la dérivation des classes; Une classe dérivée hérite toutes les variables membres et les fonctions membres de la classe de base mais avec quelques exceptions:Une classe dérivée hérite toutes les variables membres et les fonctions membres de la classe de base mais avec quelques exceptions: Le constructeur et le destructeur de la classe de base ne sont pas hérités; L’opérateur d’assignation (=) surchargé n’est pas hérité; Les fonctions amies et les classes amies ne sont pas héritées. Attention! Les variables membres et les fonctions membres ainsi héritées sont ne pas toujours accessibles! (les explications sont données plus loin dans ce document)Attention! Les variables membres et les fonctions membres ainsi héritées sont ne pas toujours accessibles! (les explications sont données plus loin dans ce document) Dans la classe dérivée, nous pouvons ajouter de nouvelles variables et fonctions membres, nouveaux constructeurs et destructeur… évidemment, de nouveaux amis (fonctions et classes).Dans la classe dérivée, nous pouvons ajouter de nouvelles variables et fonctions membres, nouveaux constructeurs et destructeur… évidemment, de nouveaux amis (fonctions et classes).
4
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Séquence d’exécution lors de la création (destruction) d’un objet d’une classe dérivée:Séquence d’exécution lors de la création (destruction) d’un objet d’une classe dérivée: Création Allocation de l’espace mémoire pour l’objet créé – espace pour le parent (classe de base) + l’enfant (classe dérivée); Exécution du constructeur de la classe de base; Exécution du constructeur de la classe dérivée. Destruction Exécution du destructeur de la classe dérivée; Exécution du destructeur de la classe de base; Restitution au système de l’espace mémoire alloué lors de la création de l’objet.
5
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Dérivation publiqueDérivation publique Les membres publiques d’une classe de base sont accessibles publiquement dans la classe dérivée; Les membres protégés d’une classe de base sont hérités dans la section protégée (protected) de la classe dérivée; Les membres privés (private) d’une classe de base ne sont pas accessibles par la classe dérivée; La dérivation publique réalise en quelque sorte une relation de type « est-un »; Exemple: AmateurIndecis est un AmateurDeHockey (voir le projet C++ accompagnant ce document).
6
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Dérivation privéeDérivation privée Les membres publiques d’une classe de base sont hérités dans la section privée (private) de la classe dérivée;Les membres publiques d’une classe de base sont hérités dans la section privée (private) de la classe dérivée; Les membres protégés d’une classe de base sont hérités dans la section privée (private) de la classe dérivée;Les membres protégés d’une classe de base sont hérités dans la section privée (private) de la classe dérivée; Les membres privés (private) d’une classe de base ne sont pas accessibles par la classe dérivée;Les membres privés (private) d’une classe de base ne sont pas accessibles par la classe dérivée; La dérivation protégée réalise en quelque sorte une relation de type « est-implanté-en-terme-de » ou « possède-un »;La dérivation protégée réalise en quelque sorte une relation de type « est-implanté-en-terme-de » ou « possède-un »; Exemple: AmateurPrive est implanté en terme de AmateurDeHockey (voir le projet C++ accompagnant ce document);Exemple: AmateurPrive est implanté en terme de AmateurDeHockey (voir le projet C++ accompagnant ce document); Exemple: Voiture possède un Moteur.Exemple: Voiture possède un Moteur.
7
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Dérivation protégéeDérivation protégée Les membres publiques d’une classe de base sont hérités dans la section protégée (protected) de la classe dérivée;Les membres publiques d’une classe de base sont hérités dans la section protégée (protected) de la classe dérivée; Les membres protégés d’une classe de base sont hérités dans la section protégée (protected) de la classe dérivée;Les membres protégés d’une classe de base sont hérités dans la section protégée (protected) de la classe dérivée; Les membres privés (private) d’une classe de base ne sont pas accessibles par la classe dérivée;Les membres privés (private) d’une classe de base ne sont pas accessibles par la classe dérivée; La dérivation protégée réalise en quelque sorte une relation de type « est-implanté-en-terme-de » ou « possède-un »;La dérivation protégée réalise en quelque sorte une relation de type « est-implanté-en-terme-de » ou « possède-un »; La dérivation protégée offre la possibilité à la classe dérivée de donner à ses enfants une interface réunissant tous ses membres dans la section protégée.La dérivation protégée offre la possibilité à la classe dérivée de donner à ses enfants une interface réunissant tous ses membres dans la section protégée.
8
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Exemple VC++Exemple VC++ Télécharger le fichier ZIP sur le site Web du cours;Télécharger le fichier ZIP sur le site Web du cours; Les examples de dérivation sont programmés dans ce fichier source
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.