SlideShare une entreprise Scribd logo
1  sur  7
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

Tendances

Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1Yassine Badri
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Yassine Badri
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancéeMahfoud EL HOUDAIGUI
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2Yassine Badri
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 

Tendances (19)

Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 
Langage C#
Langage C#Langage C#
Langage C#
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2
 
Csharp2014
Csharp2014Csharp2014
Csharp2014
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
TD Java POO
TD Java POO TD Java POO
TD Java POO
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Les Classe en Java
Les Classe en JavaLes Classe en Java
Les Classe en Java
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 

En vedette

Energies marines : le point de vue de l'opérateur (Poweo)
Energies marines : le point de vue de l'opérateur (Poweo)Energies marines : le point de vue de l'opérateur (Poweo)
Energies marines : le point de vue de l'opérateur (Poweo)Stephane Parpinelli
 
El baile de la vida
El baile de la vidaEl baile de la vida
El baile de la vidalabst2010
 
Uri 090729173152-phpapp01
Uri 090729173152-phpapp01Uri 090729173152-phpapp01
Uri 090729173152-phpapp01alejandroQB
 
Intel 110414161637-phpapp01
Intel 110414161637-phpapp01Intel 110414161637-phpapp01
Intel 110414161637-phpapp01GRUPO_7
 
Plancha 2 innovación con experiencia avdt 2011
Plancha 2 innovación con experiencia avdt 2011Plancha 2 innovación con experiencia avdt 2011
Plancha 2 innovación con experiencia avdt 2011plancha2avdt2011
 
Conference media sociaux
Conference media sociauxConference media sociaux
Conference media sociauxsymbioses
 
Business intellligence
Business intellligenceBusiness intellligence
Business intellligenceJaviergomlop
 
Famous Person Keynote
Famous Person KeynoteFamous Person Keynote
Famous Person Keynotejj69648mhs
 
Presentacindefinitiva 110316052359-phpapp01
Presentacindefinitiva 110316052359-phpapp01Presentacindefinitiva 110316052359-phpapp01
Presentacindefinitiva 110316052359-phpapp01hiperboledelabelleza
 
Lanzamiento de la propuesta a los estudiantes
Lanzamiento de la propuesta a los estudiantesLanzamiento de la propuesta a los estudiantes
Lanzamiento de la propuesta a los estudiantesGina Tellez
 
Relaciones de access
Relaciones de accessRelaciones de access
Relaciones de accessAdrian Arias
 
Voyage des 5ème à Bordères-Louron
Voyage des 5ème à Bordères-LouronVoyage des 5ème à Bordères-Louron
Voyage des 5ème à Bordères-Louronjn m
 

En vedette (20)

Energies marines : le point de vue de l'opérateur (Poweo)
Energies marines : le point de vue de l'opérateur (Poweo)Energies marines : le point de vue de l'opérateur (Poweo)
Energies marines : le point de vue de l'opérateur (Poweo)
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
El baile de la vida
El baile de la vidaEl baile de la vida
El baile de la vida
 
Uri 090729173152-phpapp01
Uri 090729173152-phpapp01Uri 090729173152-phpapp01
Uri 090729173152-phpapp01
 
Intel 110414161637-phpapp01
Intel 110414161637-phpapp01Intel 110414161637-phpapp01
Intel 110414161637-phpapp01
 
Plancha 2 innovación con experiencia avdt 2011
Plancha 2 innovación con experiencia avdt 2011Plancha 2 innovación con experiencia avdt 2011
Plancha 2 innovación con experiencia avdt 2011
 
Conference media sociaux
Conference media sociauxConference media sociaux
Conference media sociaux
 
Ciberdemocracia
CiberdemocraciaCiberdemocracia
Ciberdemocracia
 
Business intellligence
Business intellligenceBusiness intellligence
Business intellligence
 
El tiempo
El tiempoEl tiempo
El tiempo
 
Famous Person Keynote
Famous Person KeynoteFamous Person Keynote
Famous Person Keynote
 
Simple Past
Simple PastSimple Past
Simple Past
 
Presentacindefinitiva 110316052359-phpapp01
Presentacindefinitiva 110316052359-phpapp01Presentacindefinitiva 110316052359-phpapp01
Presentacindefinitiva 110316052359-phpapp01
 
Lanzamiento de la propuesta a los estudiantes
Lanzamiento de la propuesta a los estudiantesLanzamiento de la propuesta a los estudiantes
Lanzamiento de la propuesta a los estudiantes
 
Relaciones de access
Relaciones de accessRelaciones de access
Relaciones de access
 
Pure Merveille(1)
Pure Merveille(1)Pure Merveille(1)
Pure Merveille(1)
 
Chutes du niagara_en_hiver
Chutes du niagara_en_hiverChutes du niagara_en_hiver
Chutes du niagara_en_hiver
 
Voyage des 5ème à Bordères-Louron
Voyage des 5ème à Bordères-LouronVoyage des 5ème à Bordères-Louron
Voyage des 5ème à Bordères-Louron
 
#4. Soure
#4. Soure#4. Soure
#4. Soure
 
Bien memoriser
Bien memoriserBien memoriser
Bien memoriser
 

Similaire à Cpp3 : heritage

Héritage dans cpp dev informatique ingenierie
Héritage dans cpp dev informatique ingenierieHéritage dans cpp dev informatique ingenierie
Héritage dans cpp dev informatique ingenierieMohammedAmineELHARCH1
 
Ch4HeritageSMI2015_2016.pdf
Ch4HeritageSMI2015_2016.pdfCh4HeritageSMI2015_2016.pdf
Ch4HeritageSMI2015_2016.pdfRihabBENLAMINE
 
Ch4HeritageSMI2015_2016.pptx
Ch4HeritageSMI2015_2016.pptxCh4HeritageSMI2015_2016.pptx
Ch4HeritageSMI2015_2016.pptxRihabBENLAMINE
 
chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfMoez Moezm
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAAymen Bedwivski
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
DrupalCamp Paris 2013 - Theming
DrupalCamp Paris 2013 - ThemingDrupalCamp Paris 2013 - Theming
DrupalCamp Paris 2013 - ThemingRomain Jarraud
 

Similaire à Cpp3 : heritage (18)

XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
Cours de JAVA de base
Cours de JAVA  de baseCours de JAVA  de base
Cours de JAVA de base
 
Chapitre3 2013 POO
Chapitre3 2013 POOChapitre3 2013 POO
Chapitre3 2013 POO
 
Héritage dans cpp dev informatique ingenierie
Héritage dans cpp dev informatique ingenierieHéritage dans cpp dev informatique ingenierie
Héritage dans cpp dev informatique ingenierie
 
Ch4HeritageSMI2015_2016.pdf
Ch4HeritageSMI2015_2016.pdfCh4HeritageSMI2015_2016.pdf
Ch4HeritageSMI2015_2016.pdf
 
Ch4HeritageSMI2015_2016.pptx
Ch4HeritageSMI2015_2016.pptxCh4HeritageSMI2015_2016.pptx
Ch4HeritageSMI2015_2016.pptx
 
Download
DownloadDownload
Download
 
Cours5-heritage.pptx
Cours5-heritage.pptxCours5-heritage.pptx
Cours5-heritage.pptx
 
chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdf
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVA
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
DrupalCamp Paris 2013 - Theming
DrupalCamp Paris 2013 - ThemingDrupalCamp Paris 2013 - Theming
DrupalCamp Paris 2013 - Theming
 

Plus de Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 

Plus de Abdoulaye Dieng (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
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])