SlideShare une entreprise Scribd logo
1  sur  14
La Programmation Orientée
Objet Avancée
Dans ce cours, nous allons voir :
Leçon 1 : La programmation orientée objet avancée.
Atelier.
Leçon 1 : La programmation orientée objet avancée.
Leçon 1 : La programmation orientée objet avancée.
1. Héritage.
2. Interfaces.
3. Polymorphisme.
1. Héritage.
• L’héritage est le concept en vertu duquel des attributs et opérations communes
d’une classe de base sont réutilisés dans une classe dérivée.
• L’héritage spécifie une relation < est un type de >.
• Plusieurs classes partagent les mêmes attributs et opérations, ce qui permet
une réutilisation efficace de code.
• Si la classe de base ne contient pas de code d’implémentation et n’est jamais
instanciée en tant qu’objet, on dit qu’il s’agit d’une classe abstraite.
• On dit hériter d’une classe, et implémenter une interface.
Leçon 1 : La programmation orientée objet avancée.
1. Héritage.
• La surcharge.
• La substitution.
Leçon 1 : La programmation orientée objet avancée.
1. Héritage.
Leçon 1 : La programmation orientée objet avancée.
Classe de base
Classe dérivée Classe dérivée
Classe de base
et dérivée
Classe dérivée
Héritage
Héritage
Héritage
Héritage
class Chat class Tigre : Chat
class TigreBlanc : Tigreclass Jaguar : Chatclass Lion : Chat
1. Héritage.
Leçon 1 : La programmation orientée objet avancée.
[C#]
class ClasseBase
{
//Placer des définitions de classe ici.
}
[Vb.Net]
Class ClasseBase
‘Placer des définitions de classe ici.
End Class
Définition
[C#]
class ClasseDerivee : ClasseBase
{
//Placer des définitions de classe ici.
}
[Vb.Net]
Class ClasseDerivee : Inherits ClasseBase
‘Placer des définitions de classe ici.
End Class
Héritage
2. Interfaces.
• Les interfaces définissent uniquement les signatures de méthode et de
propriété.
• Les classes définissent l’implémentation du code pour les méthodes
d’interface.
• L’héritage d’interface signifie que seule l’interface est héritée, et non le code
d’implémentation.
• On dit implémenter une interface, et hériter d’une classe.
Leçon 1 : La programmation orientée objet avancée.
2. Interfaces.
Leçon 1 : La programmation orientée objet avancée.
Classe de base
Classe dérivée
Interface
Classe dérivée
Héritage Héritage
Implémentation
class Transport
interface IAerien
class Avion : Transport, Itransport, IAerien
class Velo : Transport, ITransport
interface ITransport
Implémentation Implémentation
Interface
2. Interfaces.
Leçon 1 : La programmation orientée objet avancée.
[C#]
interface VotreInterface
{
//Placer des définitions d’interface ici.
}
[Vb.Net]
Interface VotreInterface
‘Placer des définitions d’interface ici.
End Interface
Définition
[C#]
class VotreClasse : VotreInterface
{
//Placer des définitions de classe ici.
}
[Vb.Net]
Class VotreClasse
Implements VotreInterface
‘Placer des définitions de classe ici.
End Class
Implémentation
3. Polymorphisme.
• La même opération se comporte différemment quand elle est appliquée à des
objets basés sur des classes différentes.
• Souvent fondé sur l’héritage d’interface :
• Les classes héritent de la classe de base d’interface.
• Chaque classe dérivée implémente sa propre version du code.
• Les clients peuvent traiter tous les objets comme des instances de la
classe de base, sans connaître les classes dérivées.
Leçon 1 : La programmation orientée objet avancée.
3. Polymorphisme.
Leçon 1 : La programmation orientée objet avancée.
[C#]
interface VotreInterface
{
String getName();
}
[Vb.Net]
Interface VotreInterface
Function getName() As String
End Interface
Définition
3. Polymorphisme.
Leçon 1 : La programmation orientée objet avancée.
[C#]
class VotreClasse : VotreInterface
{
//Placer des définitions de classe ici.
}
[Vb.Net]
Class VotreClasse
Implements VotreInterface
‘Placer des définitions de classe ici.
End Class
Implémentation

Contenu connexe

Tendances

Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Ayed CHOKRI
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Pfe book insodev 2022 vf
Pfe book insodev 2022 vfPfe book insodev 2022 vf
Pfe book insodev 2022 vfSarra Sassi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcabderrahim marzouk
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxkaoutarghaffour
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismeMouna Torjmen
 

Tendances (20)

Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Pfe book insodev 2022 vf
Pfe book insodev 2022 vfPfe book insodev 2022 vf
Pfe book insodev 2022 vf
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvc
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptx
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 

En vedette

Introduction au microsoft .net framework 4.0
Introduction au microsoft .net framework 4.0Introduction au microsoft .net framework 4.0
Introduction au microsoft .net framework 4.0Mahfoud EL HOUDAIGUI
 
C# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerC# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerMahfoud EL HOUDAIGUI
 
SQL Server preparation, installation et configuration
SQL Server   preparation, installation et configurationSQL Server   preparation, installation et configuration
SQL Server preparation, installation et configurationMahfoud EL HOUDAIGUI
 
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
 
Masquer le bouton enregistrer dans un formulaire InfoPath
Masquer le bouton enregistrer dans un formulaire InfoPathMasquer le bouton enregistrer dans un formulaire InfoPath
Masquer le bouton enregistrer dans un formulaire InfoPathMahfoud EL HOUDAIGUI
 
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...cppfrug
 
Théorie de normalisation-base de données
Théorie de normalisation-base de donnéesThéorie de normalisation-base de données
Théorie de normalisation-base de donnéesYassine Badri
 
Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++Fabio Hernandez
 
Polymorphisme : un concept polymorphe !
Polymorphisme : un concept polymorphe !Polymorphisme : un concept polymorphe !
Polymorphisme : un concept polymorphe !Aurélien Regat-Barrel
 
L'informatique nomade et polymorphe
L'informatique nomade et polymorpheL'informatique nomade et polymorphe
L'informatique nomade et polymorpheFrederic CAVAZZA
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 

En vedette (14)

Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
Introduction au microsoft .net framework 4.0
Introduction au microsoft .net framework 4.0Introduction au microsoft .net framework 4.0
Introduction au microsoft .net framework 4.0
 
C# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerC# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL Server
 
SQL Server preparation, installation et configuration
SQL Server   preparation, installation et configurationSQL Server   preparation, installation et configuration
SQL Server preparation, installation et configuration
 
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)
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
 
Masquer le bouton enregistrer dans un formulaire InfoPath
Masquer le bouton enregistrer dans un formulaire InfoPathMasquer le bouton enregistrer dans un formulaire InfoPath
Masquer le bouton enregistrer dans un formulaire InfoPath
 
Présentation de SharePoint 2013
Présentation de SharePoint 2013Présentation de SharePoint 2013
Présentation de SharePoint 2013
 
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...
Du Polymorphisme dynamique au polymorphisme statique : Abstraction sans perte...
 
Théorie de normalisation-base de données
Théorie de normalisation-base de donnéesThéorie de normalisation-base de données
Théorie de normalisation-base de données
 
Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++
 
Polymorphisme : un concept polymorphe !
Polymorphisme : un concept polymorphe !Polymorphisme : un concept polymorphe !
Polymorphisme : un concept polymorphe !
 
L'informatique nomade et polymorphe
L'informatique nomade et polymorpheL'informatique nomade et polymorphe
L'informatique nomade et polymorphe
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 

Similaire à Programmation orientée objet avancée

Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetMohammed Jaafar
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
Interface collectionsinter
Interface collectionsinterInterface collectionsinter
Interface collectionsinterRYMAA
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciellauraty3204
 
2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communautéMickaël Rémond
 
JavaLesBasespourles debutantset pour vous.pdf
JavaLesBasespourles debutantset pour vous.pdfJavaLesBasespourles debutantset pour vous.pdf
JavaLesBasespourles debutantset pour vous.pdfhindguendouz2000
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeurAbdelwahab Naji
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011yassine kchiri
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharpSDFG5
 

Similaire à Programmation orientée objet avancée (20)

XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
4711538.pptx
4711538.pptx4711538.pptx
4711538.pptx
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté Objet
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
Interface collectionsinter
Interface collectionsinterInterface collectionsinter
Interface collectionsinter
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
Langage C#
Langage C#Langage C#
Langage C#
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Les Classe en Java
Les Classe en JavaLes Classe en Java
Les Classe en Java
 
2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté
 
JavaLesBasespourles debutantset pour vous.pdf
JavaLesBasespourles debutantset pour vous.pdfJavaLesBasespourles debutantset pour vous.pdf
JavaLesBasespourles debutantset pour vous.pdf
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
 
C#
C#C#
C#
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharp
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 

Programmation orientée objet avancée

  • 2. Dans ce cours, nous allons voir : Leçon 1 : La programmation orientée objet avancée. Atelier.
  • 3. Leçon 1 : La programmation orientée objet avancée.
  • 4. Leçon 1 : La programmation orientée objet avancée. 1. Héritage. 2. Interfaces. 3. Polymorphisme.
  • 5. 1. Héritage. • L’héritage est le concept en vertu duquel des attributs et opérations communes d’une classe de base sont réutilisés dans une classe dérivée. • L’héritage spécifie une relation < est un type de >. • Plusieurs classes partagent les mêmes attributs et opérations, ce qui permet une réutilisation efficace de code. • Si la classe de base ne contient pas de code d’implémentation et n’est jamais instanciée en tant qu’objet, on dit qu’il s’agit d’une classe abstraite. • On dit hériter d’une classe, et implémenter une interface. Leçon 1 : La programmation orientée objet avancée.
  • 6. 1. Héritage. • La surcharge. • La substitution. Leçon 1 : La programmation orientée objet avancée.
  • 7. 1. Héritage. Leçon 1 : La programmation orientée objet avancée. Classe de base Classe dérivée Classe dérivée Classe de base et dérivée Classe dérivée Héritage Héritage Héritage Héritage class Chat class Tigre : Chat class TigreBlanc : Tigreclass Jaguar : Chatclass Lion : Chat
  • 8. 1. Héritage. Leçon 1 : La programmation orientée objet avancée. [C#] class ClasseBase { //Placer des définitions de classe ici. } [Vb.Net] Class ClasseBase ‘Placer des définitions de classe ici. End Class Définition [C#] class ClasseDerivee : ClasseBase { //Placer des définitions de classe ici. } [Vb.Net] Class ClasseDerivee : Inherits ClasseBase ‘Placer des définitions de classe ici. End Class Héritage
  • 9. 2. Interfaces. • Les interfaces définissent uniquement les signatures de méthode et de propriété. • Les classes définissent l’implémentation du code pour les méthodes d’interface. • L’héritage d’interface signifie que seule l’interface est héritée, et non le code d’implémentation. • On dit implémenter une interface, et hériter d’une classe. Leçon 1 : La programmation orientée objet avancée.
  • 10. 2. Interfaces. Leçon 1 : La programmation orientée objet avancée. Classe de base Classe dérivée Interface Classe dérivée Héritage Héritage Implémentation class Transport interface IAerien class Avion : Transport, Itransport, IAerien class Velo : Transport, ITransport interface ITransport Implémentation Implémentation Interface
  • 11. 2. Interfaces. Leçon 1 : La programmation orientée objet avancée. [C#] interface VotreInterface { //Placer des définitions d’interface ici. } [Vb.Net] Interface VotreInterface ‘Placer des définitions d’interface ici. End Interface Définition [C#] class VotreClasse : VotreInterface { //Placer des définitions de classe ici. } [Vb.Net] Class VotreClasse Implements VotreInterface ‘Placer des définitions de classe ici. End Class Implémentation
  • 12. 3. Polymorphisme. • La même opération se comporte différemment quand elle est appliquée à des objets basés sur des classes différentes. • Souvent fondé sur l’héritage d’interface : • Les classes héritent de la classe de base d’interface. • Chaque classe dérivée implémente sa propre version du code. • Les clients peuvent traiter tous les objets comme des instances de la classe de base, sans connaître les classes dérivées. Leçon 1 : La programmation orientée objet avancée.
  • 13. 3. Polymorphisme. Leçon 1 : La programmation orientée objet avancée. [C#] interface VotreInterface { String getName(); } [Vb.Net] Interface VotreInterface Function getName() As String End Interface Définition
  • 14. 3. Polymorphisme. Leçon 1 : La programmation orientée objet avancée. [C#] class VotreClasse : VotreInterface { //Placer des définitions de classe ici. } [Vb.Net] Class VotreClasse Implements VotreInterface ‘Placer des définitions de classe ici. End Class Implémentation