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