Les Concepts Fondamentaux de la POO

Page 1 sur 19Lecteur de document UniversityLib

Les Concepts Fondamentaux de la POO

Object-Oriented Programming (OOP) · notes

Voir tous les documents en programmation

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