03/12/2023
PROGRAMMATION
ORIENTÉE OBJET
Chapitre II : Concepts de base de la POO
Pr. Sarra ROUBI
LE Informatique : S5
Plan du cours
■ Principaux concepts de la POO
– Classe / Objet
– Propriétés / Méthodes
– L’encapsulation
– L’héritage
– Le polymorphisme
1
03/12/2023
CONCEPTS DE LA
POO
Classe, Objet, Encapsulation, Héritage
Les Concepts de la POO
■ Le premier concept de la programmation OO est bien sur
l’Objet/Classe.
■ Une classe définit des champs et des méthodes:
– Les champs contiennent l’état
– Les méthodes définissent les interactions
■ L’instanciation est une concrétisation en mémoire d’un modèle
défini par la classe. (Objet)
2
03/12/2023
Concept 1 : Classe / Objet
Classe Relation
Objet
■ Une définition ■ Une représentation
■ Un modèle décrivant des ■ Concrétisation de la définition
caractéristiques et les déjà décrite par la classe et
fonctionnalités en abstraction appartient au monde réel
■ Le ‘plan’ qu’on instancie ■ L’instance de la classe
Concept 1 : Classe / Objet
Class ou Objet?
Source : [Link]
3
03/12/2023
Concept 1 : Classe / Objet
Class ou Objet?
Source : google images
Concept 1 : Classe / Objet
Class ou Objet?
Source : google images
4
03/12/2023
Concept 2 : Propriétés et Méthodes
Propriété Relation Méthodes
■ les caractéristiques (données) ■ les actions qu’un objet peut
d’un objet. effectuer
■ En général, ce sont des ■ En général, ce sont des
Variables Fonctions
■ Exemple : Voiture ■ Exemple : Voiture
– Couleur – Rouler
– Marque – Klaxonner
– Vitesse – Freiner
– Poids – Accélerer
– Capacité – …
– …
Concept 3 : Encapsulation
OBJET
Propriétés
Propriétés
Méthodes
Méthodes
10
5
03/12/2023
Concept 3 : Encapsulation
■ Le principe de l’encapsulation dit que :
– Un objet ne doit pas exposer sa représentation interne au monde
extérieur
■ Représentation Interne : Les attributs et les méthodes
■ Monde Extérieur : Les autres classes et le reste de tout le
programme.
11
Concept 3 : Encapsulation Extérieur
Autre
Code,
Objet, …
■ En consolidant les données et les
méthodes dans un objet Accesseurs
(l’encapsuler),
OBJET
■ l’accès aux données est limité aux
Propriétés
accesseurs. (un élément pour les
utiliser)
Méthodes
■ Les détails de l’implémentation d’un
objet sont masqués aux autres
objets.
12
6
03/12/2023
Concept 4 : Héritage et Polymorphisme
■ En POO, les classes sont organisées hiérarchiquement.
■ On peut définir des classes comme points de départ d’autres
classes plus spécifiques.
■ Comme dans un arbre généalogique, les ancêtres transmettent
des propriétés et des comportements à leurs descendants.
13
Concept 4 : Héritage et Polymorphisme
■ Donc du mot héritage on sait que les enfants héritent de leur
parents.
■ Une classe fille hérite tout de sa classe mère.
■ On l’utilise souvent quand on remarque qu’on a du code répété.
14
7
03/12/2023
Concept 4 : Héritage et Polymorphisme
■ Exemple :
– Si l’on a à gérer des étudiants, professeurs et administratifs,
comment pouvons nous concevoir la solution?
15
Concept 4 : Héritage et Polymorphisme
■ La classe fille ‘héritante’, a le droit de modifier des comportements
hérités.
■ Ceux ci peuvent prendre plusieurs formes -> Polymorphisme
■ Alors que l'héritage concerne les classes (et leur hiérarchie), le
polymorphisme est relatif aux méthodes des objets.
16
8
03/12/2023
Concept 4 : Héritage et Polymorphisme
■ Exemple :
– Imaginons un jeu d'échec comportant des
objets roi, reine, fou, cavalier, tour et pion. Comment pouvons nous
concevoir le programme en utilisant l’héritage et le
polymorphisme?
– Les objets hériteront chacun de la classe piece. La
méthode mouvement() pourra, grâce au polymorphisme
d'héritage, effectuer le mouvement approprié en fonction de la
classe de l'objet référencé au moment de l'appel. Cela permettra
notamment au programme de dire [Link] sans avoir
à se préoccuper de la classe de la pièce.
17