Les concepts fondamentaux
de la POO
1
Les concepts objets se traduisent par les notions suivantes :
• Classe / Objet
• Encapsulation
• Abstraction
• Héritage
• Polymorphisme
2
1- Une Classe
Définition
• Une classe est la description des caractéristiques communes à tous
les objets.
• Classe = schéma/moule/modèle d’objets
• Une classe est un modèle de définition pour des objets qui ont
• La même structure (mêmes attributs),
• Le même comportement (mêmes méthodes),
3
Une classe est définie par :
• Un identifiant
• Un état interne donné par des
• Attributs
• Un comportement donné par des fonctions ou sous-programmes,
appelés:
• Méthodes
4
Exemple: la classe Montre
Une montre est caractérisée par :
• Des attributs : Heure, Minutes, Secondes
• Des méthodes : setHeure(int h), setMinute(int m),
setSeconde(int s), int getHeure(), int getMinute(), int
getSeconde(), void RéglerAlarme()
Publicité
5
2- L’objet
Définition
• Un objet en POO est une entité informatique utilisée pour modéliser
informatiquement des "objets" de la vie courante ou des concepts.
• Exemples d’objets concrets : ville, véhicule, étudiant, un bouton sur l’écran.
• Exemples d’objets conceptuels : date, réunion, planning de réservation.
6
L’instanciation
Instanciation
ETUDIANT
NCIN : int;
Prenom : char[ ];
Age: int;
Classe
E1 : ETUDIANT
NCIN: 1234567;
Prenom: Mohamed;
Age: 22;
E2 : ETUDIANT
NCIN : 987654;
Prenom : Sana;
Age: 21;
Une classe est un générateur d’objets
Par instanciation, on peut créer des
objets à partir d’une classe
(schéma/moule/modèle)
2 Instances : E1 et E2
7
8
Interaction entre objets
• Les objets interagissent et communiquent entre eux par l’envoi de
messages
Publicité
• Les méthodes publiques d’un objet correspondent aux messages
qu’on peut lui envoyer
• Un message est caractérisé par :
•
•
•
l’objet cible du message
le nom de la méthode à déclencher
les paramètres de cette méthode
• La réponse à la réception d’un message consiste à exécuter la
méthode associée
9
3- L’abstraction
• Définition : L’abstraction consiste à montrer uniquement les
caractéristiques utiles d’un objet, du point de vue de l’observateur et
à ignorer d’autres détails.
• Exemple:
Pour une montre, l’utilisateur a besoin de connaitre:
- l’afficheur
- les boutons lui permettant de consulter l’heure, de la modifier,
de régler l’alarme… Il n’a pas besoin de connaître comment elle
fonctionne.
10
4- L’encapsulation
• Définition: Il y a deux facettes de l’encapsulation:
1. C’est le fait de regrouper au sein d’un même objet, les données
(attributs) et les traitements (méthodes).
Objet = Attributs (Données) + Méthodes (Traitements)
2. C’est le fait de cacher, dans une boîte, les détails d’implémentation
d’un objet :
Méthodes (Traitements)
Attributs
(Données)
11
Publicité
L’encapsulation permet de définir deux niveaux de perception :
• Le niveau externe : Interface de l’objet : partie (visible) par les
utilisateurs de l’objet :
- prototype des méthodes et attributs accessibles hors de l’objet.
• Le niveau interne : détails d’implémentation de l’objet
- méthodes et attributs accessibles uniquement depuis l’intérieur
de l’objet .
12
5- L’héritage
• Il permet de créer une nouvelle classe à partir d'une classe déjà
existante.
• La classe fille (ou classe dérivée) hérite les attributs et les méthodes
de la classe mère (ou superclasse).
• Dans la classe fille, on peut trouver de nouveaux attributs et
méthodes.
• On parle d’héritage simple lorsqu’une classe fille ne possède qu’une
classe mère.
• On parle d’héritage multiple lorsqu’une classe fille possède plusieurs
classes mères (ce qui n’est pas possible en Java).
13
Héritage simple - multiple
Héritage simple
Héritage multiple
(interdit en Java)
14
Application
Représenter les classes suivantes:
Personne ayant comme attributs: nom, prenom, adresse et age.
Etudiant ayant comme attributs: NumInscription, nom, prenom,
adresse, age et classe.
Enseignant ayant comme attributs: NCIN, nom, prenom, adresse, age
et spécialité.
15
Publicité
7- Polymorphisme
Définition:
• Le nom de polymorphisme vient du grec et signifie "qui peut prendre
plusieurs formes".
• le polymorphisme est relatif aux méthodes des objets.
• Le polymorphisme représente la faculté d’une méthode à pouvoir
s’appliquer à des objets de classes différentes.
• Le polymorphisme est un mécanisme qui permet à une sous classe de
redéfinir une méthode dont elle a hérité tout en gardant le même
nom.
16
Exemple:
Dans une société, le calcul du salaire d’un administratif se fait selon une
formule fixe alors que celui d’un commercial dépend d’une commission
sur la quantité vendu. On peut utiliser la même méthode calcul_salaire
pour ces deux classes différentes et avoir un comportement différent
selon l’objet de la classe qui a appelé la méthode.
17
Le salaire ici est
calculé selon une
formule fixe
Le salaire ici est
dépend d’une
commission.
18
Application
Représenter les classes suivantes:
Forme géometrique,
Rectangle défini par sa longueur, sa largeur, sa surface et son
périmètre.
Carre défini par son carre, sa surface et son périmètre.
19