SlideShare une entreprise Scribd logo
Introduction au C++ 
M. DIENG Abdoulaye 
Héritage
Sommaire 
1. Définition et intérêt 
2. Syntaxe et exemple 
3. Constructeurs et héritage 
4. Redéfinition de méthodes 
5. Redéfinition avec réutilisation
Définition et intérêt 
• Définition 
L’héritage est une technique permettant la création d’une 
classe à partir d’une autre en partageant ses attributs et 
méthodes 
• Intérêt 
– Spécialisation ou enrichissement : une nouvelle classe 
réutilise les membres (publiques ou protégés) d’une classe 
en y ajoutant des membres particuliers 
– Généralisation ou factorisation : réunir des classes 
possédant des caractéristiques communes dans une 
nouvelle classe plus générale
Syntaxe et exemple 
• Syntaxe 
class NomClasseFille : [protection] NomClasseMere{ 
// Déclaration des nouveaux attributs 
// Déclaration des nouvelles méthodes 
// Redéfinition de méthodes 
... 
}; 
• Le type de protection de la classe mère est public, protected 
ou private (par défaut). En général public est choisi. 
• Exemple (Un rectangle coloré est un rectangle) 
class RectangleCol : public Rectangle{ 
public: 
int couleur; 
... 
};
Constructeurs et héritage 
• Construire un objet B d’une classe dérivée, nécessite d’abord 
de construire un objet A de sa classe de base puis de le 
compléter par ce qui est spécifique à B. 
• Le constructeur de la classe de base est donc appelé avant le 
constructeur de la classe dérivée. 
• Si la classe de base a un constructeur autre que celui par 
défaut, la classe dérivée doit nécessairement avoir un 
constructeur explicite. 
• Syntaxe du constructeur d’une sous classe 
NomClasseFille(<parametres>) 
: NomClasseMere(<arguments>), 
<attribut1>(<valeur1>), 
... 
<attributn>(<valeurn>) 
{ 
// autres opérations 
}
Redéfinition de méthodes 
• Une sous-classe peut redéfinir les méthodes héritées et 
fournir des implémentations spécifiques pour celles-ci 
• La redéfinition d’une méthode cache le code de la méthode 
héritée 
• L’accès à une méthode est aussi redéfinissable dans une sous-classe 
pourvu que la directive soit identique ou plus large 
• Exemple 
– Une voiture électrique est une voiture dont l’opération de 
démarrage est différente 
– On démarre une voiture électrique en activant un 
disjoncteur
Redéfinition avec réutilisation 
• Le code d’une méthode redéfinie fait souvent appel à la 
méthode de la classe mère à l’aide de l’opérateur de résolution 
de portée. 
• Syntaxe 
NomDeLaClasseMere::nomDeLaMethode ([arguments])

Contenu connexe

PPTX
Csharp3 heritage-polymorphisme-interface
PPTX
Introduction à l’orienté objet en Python
PPTX
Csharp2 : classes et objets
PDF
Héritage et polymorphisme- Jihen HEDHLI
PPTX
Cpp2 : classes et objets
PDF
Chapitre 2 classe et objet
PPTX
Polymorphisme
Csharp3 heritage-polymorphisme-interface
Introduction à l’orienté objet en Python
Csharp2 : classes et objets
Héritage et polymorphisme- Jihen HEDHLI
Cpp2 : classes et objets
Chapitre 2 classe et objet
Polymorphisme

Tendances (19)

PDF
Chap 03 poo en java partie1
PDF
Chapitre 4 heritage et polymorphisme
PDF
Chapitre 4 persistance des donnees
PDF
Chapitre 5 classes abstraites et interfaces
PPTX
Introduction à jQuery
PPTX
c# programmation orientée objet (Classe & Objet)
PPTX
PPSX
Fondamentaux java
PDF
Java chap 04 surcharge des méthodes [mode de compatibilité]
PPTX
Programmation orientée objet avancée
PDF
Chap 03 poo en java partie2
PDF
PDF
Chapitre 1 introduction generale
PPTX
Introduction à Python
PDF
TD Java POO
PDF
Chapitre 3 elements de base de java
PPTX
Les Classe en Java
PPT
Cours java smi 2007 2008
PDF
Les listes en Python
Chap 03 poo en java partie1
Chapitre 4 heritage et polymorphisme
Chapitre 4 persistance des donnees
Chapitre 5 classes abstraites et interfaces
Introduction à jQuery
c# programmation orientée objet (Classe & Objet)
Fondamentaux java
Java chap 04 surcharge des méthodes [mode de compatibilité]
Programmation orientée objet avancée
Chap 03 poo en java partie2
Chapitre 1 introduction generale
Introduction à Python
TD Java POO
Chapitre 3 elements de base de java
Les Classe en Java
Cours java smi 2007 2008
Les listes en Python
Publicité

En vedette (20)

PDF
Energies marines : le point de vue de l'opérateur (Poweo)
PPT
Cliente servidor
PPT
El baile de la vida
PPT
Uri 090729173152-phpapp01
PPTX
Intel 110414161637-phpapp01
PPSX
Plancha 2 innovación con experiencia avdt 2011
PPTX
Conference media sociaux
PPTX
Ciberdemocracia
ODP
Business intellligence
PPT
El tiempo
KEY
Famous Person Keynote
DOC
Simple Past
PPT
Presentacindefinitiva 110316052359-phpapp01
PPTX
Lanzamiento de la propuesta a los estudiantes
PPTX
Relaciones de access
PPS
Pure Merveille(1)
PPS
Chutes du niagara_en_hiver
ODP
Voyage des 5ème à Bordères-Louron
PDF
#4. Soure
PDF
Bien memoriser
Energies marines : le point de vue de l'opérateur (Poweo)
Cliente servidor
El baile de la vida
Uri 090729173152-phpapp01
Intel 110414161637-phpapp01
Plancha 2 innovación con experiencia avdt 2011
Conference media sociaux
Ciberdemocracia
Business intellligence
El tiempo
Famous Person Keynote
Simple Past
Presentacindefinitiva 110316052359-phpapp01
Lanzamiento de la propuesta a los estudiantes
Relaciones de access
Pure Merveille(1)
Chutes du niagara_en_hiver
Voyage des 5ème à Bordères-Louron
#4. Soure
Bien memoriser
Publicité

Similaire à Cpp3 : heritage (20)

PDF
Ch09
PPTX
Héritage dans cpp dev informatique ingenierie
PPTX
Chapitre 5_Heritage.pptxygygilyiuhoijoijoi
PPTX
Ch4HeritageSMI2015_2016.pptx
PDF
Heritage+polymorphisme.pdf
PPTX
Cours5-heritage.pptx
PDF
Ch4HeritageSMI2015_2016.pdf
PDF
Cours de C++, en français, 2002 - Cours 2.2
PDF
Ch10
PDF
Héritage et redéfinition de méthode
PPTX
Chapitre3_Classe_Objet (2024\2025) .pptx
PDF
Cours de C++, en français, 2002 - Cours 2.5
PPTX
Chap III - Heritage et Polymorphisme.pptx
PPT
programmation orienté objet c++
PPT
JAVA-UIK-CHAP6-POO HERITAGE JAVA
PPT
Java uik-chap6-poo heritage v2 java
PDF
chapitre4-HeritageetPolymorphisme.pdf
PDF
Java uik-chap6-poo heritage v2 java
PDF
Java uik-chap6-poo heritage v2 java
PDF
Java uik-chap6-poo heritage v2 java
Ch09
Héritage dans cpp dev informatique ingenierie
Chapitre 5_Heritage.pptxygygilyiuhoijoijoi
Ch4HeritageSMI2015_2016.pptx
Heritage+polymorphisme.pdf
Cours5-heritage.pptx
Ch4HeritageSMI2015_2016.pdf
Cours de C++, en français, 2002 - Cours 2.2
Ch10
Héritage et redéfinition de méthode
Chapitre3_Classe_Objet (2024\2025) .pptx
Cours de C++, en français, 2002 - Cours 2.5
Chap III - Heritage et Polymorphisme.pptx
programmation orienté objet c++
JAVA-UIK-CHAP6-POO HERITAGE JAVA
Java uik-chap6-poo heritage v2 java
chapitre4-HeritageetPolymorphisme.pdf
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java

Plus de Abdoulaye Dieng (20)

PPTX
Introduction à React
PPTX
Fondamentaux du Référencement naturel
PPTX
Introduction à Symfony
PPTX
Panorama des Technologies mobiles
PPTX
Prise en main de WordPress
PPTX
Initiation à Bootstrap
PPTX
Introduction à Laravel
PPTX
Fondamentaux d’une API REST
PPTX
Introduction à Angular
PPTX
Introduction à JavaScript
PPTX
Introduction à React JS
PPTX
Initiation à l'algorithmique
PPTX
Introduction à Symfony
PPTX
Initiation à Bootstrap
PPTX
Requêtes HTTP synchrones et asynchrones
PPT
Introduction à JavaScript
PPTX
Initiation à l'algorithmique
PPTX
Introduction à HTML 5
PPTX
Introduction à AngularJS
PPTX
Initiation à Express js
Introduction à React
Fondamentaux du Référencement naturel
Introduction à Symfony
Panorama des Technologies mobiles
Prise en main de WordPress
Initiation à Bootstrap
Introduction à Laravel
Fondamentaux d’une API REST
Introduction à Angular
Introduction à JavaScript
Introduction à React JS
Initiation à l'algorithmique
Introduction à Symfony
Initiation à Bootstrap
Requêtes HTTP synchrones et asynchrones
Introduction à JavaScript
Initiation à l'algorithmique
Introduction à HTML 5
Introduction à AngularJS
Initiation à Express js

Cpp3 : heritage

  • 1. Introduction au C++ M. DIENG Abdoulaye Héritage
  • 2. Sommaire 1. Définition et intérêt 2. Syntaxe et exemple 3. Constructeurs et héritage 4. Redéfinition de méthodes 5. Redéfinition avec réutilisation
  • 3. Définition et intérêt • Définition L’héritage est une technique permettant la création d’une classe à partir d’une autre en partageant ses attributs et méthodes • Intérêt – Spécialisation ou enrichissement : une nouvelle classe réutilise les membres (publiques ou protégés) d’une classe en y ajoutant des membres particuliers – Généralisation ou factorisation : réunir des classes possédant des caractéristiques communes dans une nouvelle classe plus générale
  • 4. Syntaxe et exemple • Syntaxe class NomClasseFille : [protection] NomClasseMere{ // Déclaration des nouveaux attributs // Déclaration des nouvelles méthodes // Redéfinition de méthodes ... }; • Le type de protection de la classe mère est public, protected ou private (par défaut). En général public est choisi. • Exemple (Un rectangle coloré est un rectangle) class RectangleCol : public Rectangle{ public: int couleur; ... };
  • 5. Constructeurs et héritage • Construire un objet B d’une classe dérivée, nécessite d’abord de construire un objet A de sa classe de base puis de le compléter par ce qui est spécifique à B. • Le constructeur de la classe de base est donc appelé avant le constructeur de la classe dérivée. • Si la classe de base a un constructeur autre que celui par défaut, la classe dérivée doit nécessairement avoir un constructeur explicite. • Syntaxe du constructeur d’une sous classe NomClasseFille(<parametres>) : NomClasseMere(<arguments>), <attribut1>(<valeur1>), ... <attributn>(<valeurn>) { // autres opérations }
  • 6. Redéfinition de méthodes • Une sous-classe peut redéfinir les méthodes héritées et fournir des implémentations spécifiques pour celles-ci • La redéfinition d’une méthode cache le code de la méthode héritée • L’accès à une méthode est aussi redéfinissable dans une sous-classe pourvu que la directive soit identique ou plus large • Exemple – Une voiture électrique est une voiture dont l’opération de démarrage est différente – On démarre une voiture électrique en activant un disjoncteur
  • 7. Redéfinition avec réutilisation • Le code d’une méthode redéfinie fait souvent appel à la méthode de la classe mère à l’aide de l’opérateur de résolution de portée. • Syntaxe NomDeLaClasseMere::nomDeLaMethode ([arguments])