La programmation objet

publicité
La programmation objet
Présentation de la POO
A. Présentation de la POO
Origine des langages Objet
Introduction
Concepts de la POO
Encapsulation
Héritage (Surcharge)
Polymorphisme
Conception POO
La programmation objet
Présentation de la POO
Origine des langages (orientés) Objet
La programmation objet
Présentation de la POO
Introduction
• PO : programmation objet pure ( Smalltalk)
• POO: langage de programmation pourvu de la PO (Turbo Pascal,
Turbo C++)
• La POO est utilisée aujourd'hui dans tous les domaines de
l'informatique : parallélisme, communication, bases de données,
ect...
• La POO vise le développement de "modules réutilisables". Elle
vise la construction de logiciel à partir d'une bibliothèque de
composants élémentaires.
La programmation objet
Présentation de la POO
Introduction
• La POO est un mode de conception (ou de construction) de
programmes(logiciel) caractérisé par :
— une organisation en entité relativement autonome : les objets. Ces
derniers se communiquent au moyen de "messages".
— un mécanisme de spécification et de génération d'objets au moyen
de modèle générique décrivant leur structure et leur
comportement ( " les classes" )
La programmation objet
Présentation de la POO
Introduction
• Les principes de la POO reposent sur la notion de la
décomposition (diviser pour régner) et sur celle de l'abstraction (
expression de la solution indépendamment de sa réalisation).
• L'abstraction permet :
• la généricité(possibilité de paramétrer un objet)
— le polymorphisme (possibilité à une procédure d'accepter des
paramètres de type différent, ou nombre variable de paramètres,
ou on attribue un même nom à une méthode qui s'adapte au type
d'objet concerné).
• En POO la séparation entre données et procédures disparaît.
La programmation objet
Présentation de la POO
Concepts de la POO
— L'univers est constitué d'OBJETS
— Les objets sont divisés en CLASSES
— Les classes sont organisés HIERARCHIQUEMENT par la relation
" est sous - classe ".
— Les objets communiquent entre eux par envoi de MESSAGES
La programmation objet
Présentation de la POO
Concepts de la POO : Objets
• Un objet est caractérisé par un état et comporte un ensemble de
procédures qui permettent
— de consulter, modifier, ect.. cet état
— de communiquer avec les autres objets.
• Les objets peuvent être créés ou détruits dynamiquement.
La programmation objet
Présentation de la POO
Concepts de la POO : Encapsulation
• C'est le fait de regrouper le code et les données dans une même
entité appelée objet.
• Un objet est composé d'un ensemble de champs et de procédures
appelées méthodes.
• L'encapsulation permet l'abstraction (un objet se comporte
comme une boite noire qu'on ne peut manipuler que par ses
méthodes )
La programmation objet
Présentation de la POO
Concepts de la POO : Encapsulation
• On définit une classe d'objets. les objets de la classe sont dit
instance ou variable de la classe. L'instance peut être statique ou
dynamique.
• Le fait d'accéder au champ d'une instance uniquement par les
méthodes permet à l'utilisateur de tout ignorer de la
représentation interne des données.
La programmation objet
Présentation de la POO
Concepts de la POO : Encapsulation (Exemples )
• Objet pile avec les champs :
som : entier
tab : tableau d'éléments de type quelconque.
et les méthodes CréerPile, PileVide, PilePeine, Empiler, Dépiler.
• Objet liste avec les champs :
Element : typequelconque
Suiv : Pointeur
et les méthodes Allouer, Liberer, Suivant, valeur, Affadr, AffVal.
• On peut paramétrer l'objet avec le type.
La programmation objet
Présentation de la POO
Concepts de la POO : Héritage
• Capacité pour un objet d'utiliser les champs et les méthodes de ses
ancêtres, plus de nouveaux champs et méthodes.
• Donc, l'héritage correspond à une extension de l'objet
(spécialisation)
• L'objectif est bien entendu la réutilisabilté.
• L'héritage peut être simple ou multiple.
• Cas d'un héritage multiple :
• Union des champs et des méthodes. Il doit exister une liste de
priorité de classe pour résoudre les conflits(même nom de champs
ou de méthodes).
La programmation objet
Présentation de la POO
Concepts de la POO : Héritage ( Surcharge )
• La surcharge permet de redéfinir chez les descendants des
méthodes homonymes(même noms) à celles des ancêtres, à liste de
paramètres éventuellement différents.
La programmation objet
Présentation de la POO
Concepts de la POO : Héritage ( Polymorphisme )
La programmation objet
Présentation de la POO
Concepts de la POO : Héritage ( Polymorphisme )
• C'est le fait qu'un objet puisse avoir plusieurs apparences.
• Si I’’ est une instance de O’’, I ’’.m exécute m puis appelle le
module mv de O. Le polymorphisme consiste à adapter mv au type
de l'objet.
• Techniquement, c'est la possibilité à un objet de ne pas établir une
liaison entre l'objet et les méthodes au moment de la compilation.
On utilise alors le concept de méthodes virtuelles de nom identique
mais de code différents.
La programmation objet
Présentation de la POO
Conception POO
• Basée sur une classification judicieuse des données : on cherche
d'abord quelles sont les données à traiter avant de chercher les
procédures à écrire. Ce qui permet de trouver les données
communes à plusieurs classes et donc de déterminer l'arbre
d'héritage(graphe).
• L'analyse POO consiste à faire des aller-retours entre :
— classification des données
— méthodes.
La programmation objet
Présentation de la POO
Conception POO
• Objectifs principaux sont :
— Trouver l'arbre d'héritage(ou graphe) autorisant au mieux le
réemploi du code.
— Faire en sorte qu'il puisse être étendu.
• Une conception POO prend beaucoup plus de temps.
• Par contre, on fait moins de programmation.
Téléchargement