Programmation Orientée Objet (POO)
Objectifs à atteindre
- Proposer les concepts orientés objets
- Maitriser les concepts de la programmation orientée objet
- Concevoir intuitivement une application sous forme d’objets et de relations
- Transcrire cette application dans un langage orienté objet
Définition des termes
- Programme : ensemble d’instruction que l’ordinateur peut exécuter d’une manière ordonnée dans le but d’accomplir une tâche bien précise.
- Logiciel : ensemble de programme.
- logiciel d’application : conçu pour l’utilisateur.
- logiciel système : conçu pour le système.
- code source : instructions écrites dans un fichier source.
- fichier source : fichier permettant d’écrire des instructions.
Bref aperçu des concepts de POO
- Objet
- Composition
- Agrégation
- Classe
- Sous classe (héritage)
- Variable composite (données composées)
- Variable simple (données simple)
- Polymorphisme
Définition des termes POO
- Objet est une instance d’une classe ou une entité du monde informatique auquel on fait correspondre une entité du monde réel.
- Classe est une catégorie du mon informatique à laquelle on fait correspondre un concept du monde réel.
- Polymorphisme est la capacité d’un objet à appartenir à plusieurs classes.
- L'héritage : est un mécanisme de la programmation orientée objet (POO) permettant la réutilisation de code ou logiciel.
- L'encapsulation : est le masquage de donnée.
Les types d’héritage
- Héritage complet
- Héritage incomplet
- Héritage simple
- Héritage simple direct
- Héritage simple indirect
- Héritage multiple
Modélisation d’héritage simple et d’héritage multiple
- Héritage simple
- Héritage multiple
Les différents types de relation
- L’héritage
- La composition
- L’association
Les membres d’une classe
- Méthode (opération)
- Attribut (champ, propriété)
- Constructeur
- Déconstruction (dans certain langage)
- Surdéfinition d’opération
C’est le fait d’avoir un même nom dans une classe.
N.B : Il est à noter que dans le codage on ne peut avoir une classe dans une classe.
- Etapes de conception d’un programme
- Identifier les classes (concepts) concernées
- Pour chaque classe
- Identifier les propriétés ou attributs
- Identifier les opérations
- Représentation graphique des classes
- Programmer chacune des classes
- Représentation graphique d’une classe
Les types
- Les types primitifs
- Les types entiers (byte, short, int, long)
- Les types réels (float, double)
- Le type caractère (char)
- Le type booléen (boolean)
- Les types de référence
- La classe
- L’interface
- Le tableau
- Le type de retour (void)
Surdéfinition d’opération : avoir un même nom dans une classe et de signature différente.
- Variables en java
- Paramètre
- Attribut
- Variable locale
Classe récursive : classe composée par elle même.
Représentation graphique de la classe Complexe.
Représentation graphique de la classe Point
Représentation graphique de la classe Vecteur
Remarque :
- Dans une classe on ne peut avoir deux méthodes de même signature
Représentation graphique de :
- L’objet nommé
Remarque : Un objet peut être détruit de manière explicite (par le programmeur) ou implicitement (par le programme)
La méthode de la classe :
- L’attribut
- Statique (de classe)
- Non statique (d’instance)
- La méthode
- Statique (de classe)
- Non statique (d’instance)
- Les constructeurs :
- Implicite
- Explicite
Encapsulation ou rétention (masquage de données)
- Droits d’accès ou modificateurs d’accès
- (+) Public
- (-) private
- (#) Protected
- ( ) Package
Remarque :
- Encapsulation forte : private.
- Encapsulation faible : public.
- Une classe hérite de tous les membres de la classe mère à l’exception du constructeur eu du membre private.
Attribut de classe et Attribut d’instance
- Attribut de classe est un attribut dont la valeur est la même quelque soit l’instance où elle a été défini.
- Attribut d’instance est un attribut dont la valeur n’est pas la même quelque soit l’instance où elle a été défini.
Exemple
NB : Les attributs de classe se partagent la même espace mémoire.