0% ont trouvé ce document utile (0 vote)
82 vues13 pages

Introduction à la POO et ses concepts

Ce document décrit les concepts clés de la programmation orientée objet, notamment les classes, objets, encapsulation, héritage et polymorphisme. Il fournit des explications détaillées sur ces concepts à travers des exemples.

Transféré par

Petit Moafo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • modélisation,
  • approche de résolution de prob…,
  • polymorphisme,
  • copie et clonage,
  • programmation fonctionnelle,
  • protocole,
  • types de données abstraits,
  • manipulation d'objets,
  • hiérarchie de classes,
  • accès aux données
0% ont trouvé ce document utile (0 vote)
82 vues13 pages

Introduction à la POO et ses concepts

Ce document décrit les concepts clés de la programmation orientée objet, notamment les classes, objets, encapsulation, héritage et polymorphisme. Il fournit des explications détaillées sur ces concepts à travers des exemples.

Transféré par

Petit Moafo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • modélisation,
  • approche de résolution de prob…,
  • polymorphisme,
  • copie et clonage,
  • programmation fonctionnelle,
  • protocole,
  • types de données abstraits,
  • manipulation d'objets,
  • hiérarchie de classes,
  • accès aux données

Classes et objets

Types de données abstraits, programmation orientée objet,


classes, objets,
Évolution de la programmation
Programmation séquentielle :

Les instructions sont exécutées DONNÉES


de façon linéaire.

Les données sont globales


et aucune réutilisation du
code n’est réalisée.

Programme Programme Programme

Programmation procédurale :

Il s’agit de découper un programme DONNÉES


en une série de fonctions lesquelles
ont pour but de réaliser un traitement
particulier.
On procède à un découpage du
traitement mais les données restent
globales. 2
Programmation orientée objet :

Il s’agit de regrouper l’ensemble DONNÉES DONNÉES


...
des données et les traitements
qui s’appliquent à ces données.
... ...
On procède à un découpage
naturel des données et du traitement des données.

Le concept de classe permet d’établir cette relation données – traitement. Il n’est


pas essentiel pour appliquer les principes de la programmation orientée objet mais
facilite grandement la tâche du programmeur.
Exemple : Application chargée de la paye des employés d’une entreprise.

La programmation orientée objet permet une modélisation en lien direct avec le


monde réel.
Cela nous amène à créer minimalement les 3 classes suivantes :
Employe : toutes les données qui caractérisent un employé et les méthodes
qui manipulent ces données,
Corps_de_metier : l’ensemble des « employés » de l’entreprise et des
méthodes qui se rattachent au corps de métier.
Entreprise : les caractéristiques de l’entreprise, un lien vers le corps de
3
métier et les méthodes qui se rattachent à l’entreprise.
Programmation orientée objets
Programmation orientée objets
Buts: - améliorer la réutilisation des outils existants
- favoriser la spécialisation de ces mêmes outils.
- s’éloigner de la machine et se rapprocher du problème à résoudre.
- développer une approche mieux adaptée à la résolution de problèmes.
- Nouvelle façon de penser la décomposition de problèmes et l’élaboration
de solutions.
Le concept de classe permet ypes de données abstraits
Défn.: Type de donnée défini par un programmeur et manipulé comme un type
de donnée de base du langage (int, long, float, …).

Un type de donnée abstrait peut être implanté à l’aide de la notion de classe.


Chaque instance d’une classe est un objet de la classe ou une variable de ce type
de donnée.

Peu ou pas de variables globales : permet une meilleure protection des


données.
4
Concepts de la programmation orientée objets

L’approche objet s’appuie sur 3 techniques fondamentales:

l’encapsulation l’héritage le polymorphisme

5
L’ENCAPSULATION
EXEMPLE :
Mon chat miaule, marche et mange :
Nous connaissons les manifestations extérieures du miaulement, mais la
façon dont le son est produit nous est masqué.

Le chat devient alors une abstraction dont on ne montre seulement que quelques
comportements.

Une interface représente cette abstraction.

L’interface énonce les services offerts et les détails de fonctionnement sont cachés.

L’emphase est mise sur la compréhension des éléments importants, sans se soucier
de l’implantation.
6
L ’ENCAPSULATION
Permet de réunir au sein d’une même entité appelée classe, des données membres
(variables ou attributs) et des traitements (fonctions membres ou comportements).

Les objets de ces classes ont la propriété de masquer l’information.

Un système de protection permet de contrôler l’accès aux données et traitements de


la classe.
On peut cacher le fonctionnement interne d’une classe et éviter que les objets
de cette classe soient utilisés de façon non conforme.
Vu de l’extérieur, l’interface d’un objet (aussi appelé protocole) constitue la liste
de tous les services (i.e. les méthodes) auxquels les autres objets ont accès.
On ne peut modifier l’état d’un objet directement, on doit passer par l’interface.

7
L ’ENCAPSULATION

Catégories d’opérations dans l’interface d’un objet


Constructeurs : créer et initialiser un nouvel objet.
Destructeurs : libérer les ressources et détruire l’objet.
Accès : accède à de l’information mais n’altère pas l’état de l’objet.
Assignation : altère l’état d’un objet.
Opérateur de comparaison : comparer des objets entre eux.
Itérateur : permet de parcourir une collection d’objets dans un ordre donné.
Copie et clonage : copie à partir d’un autre objet ou clonage de l’objet lui-même.
Entrée / sortie.

8
L’HÉRITAGE
EXEMPLE :

Plusieurs comportements d’un fournisseur de bois de chauffage sont connus, non


pas parce que je sais qu’il est fournisseur de bois de chauffage, mais aussi parce
qu’il est un commerçant.

Je m’attend à ce qu’il me demande de l’argent pour ses services et qu’il me donne


un reçu en échange.

Ces comportements sont aussi vrais pour l’épicier, le coiffeur ou le préposé au club
vidéo.

Les comportements d’un commerçant sont aussi ceux de l’épicier, du coiffeur, …

En organisant nos connaissances ainsi, cela permet une compréhension rapide du


problème. 9
L’HÉRITAGE
Objets physiques
Animal
Plante
Mammifère Reptile Poisson

Chien Humain Rex


(Un boa)
Fleurs
Commerçant Artiste Dentiste

Fleuriste Garagiste Peintre Philo


(Un poisson rouge)
Hubert Gaston Jean-Guy Picasso Jean Fleurs pour Béatrice
10
L’HÉRITAGE
Permet de réutiliser les classes existantes

On peut définir une nouvelle classe à partir d’une autre.

La classe dérivée pourra bénéficier


- des attributs (variables)
- des comportements (fonctions)
de la classe de base dont elle hérite.
Permet de spécialiser une classe de base en renfermant d’autres éléments dans les
classes dérivées. imprimante

Imprimante à matrice de points Imprimante au laser


Héritage des propriétés
11
Hiérarchie de classes
Une classe peut hériter d’une classe qui est elle-même une sous-classe et ainsi de
suite.
La structure arborescente qui en résulte est appelée hiérarchie de classes.

FIGURE

POLYGONE ELLIPSE

TRIANGLE RECTANGLE CERCLE

CARRÉ
12
LE POLYMORPHISME
EXEMPLE :

Les chiens, les serpents et les poissons partagent tous un comportement commun
hérité de la classe des animaux : ils ont la capacité de se mouvoir.

Tous le font, mais chacun à sa manière : - le chien marche


- le serpent rampe
- le poisson nage.

Si on donne l’ordre de se mouvoir, chaque animal va pouvoir répondre à cet ordre,


à sa manière propre.
S’applique aux fonctions membres des classes.
Permet à 2 objets de classes différentes de réagir différemment au même appel de
méthode. 13

Vous aimerez peut-être aussi