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

Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objetAmir Souissi
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationECAM Brussels Engineering School
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 

Tendances (20)

Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 

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 (15)

POO
POOPOO
POO
 
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