14
La Programmation Orientée Objet Avancée

Programmation orientée objet avancée

Embed Size (px)

Citation preview

La Programmation OrientéeObjet 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éeInterface

Classe dérivée

Héritage Héritage

Impl

émen

tatio

n

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 StringEnd 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