Académique Documents
Professionnel Documents
Culture Documents
2 IÈME A N N É E I N F
DÉPARTEMENT D’INFORMATIQUE
UNIVERSITÉ DE BATNA
ANNÉE 2014
26/02/2014
Patrie 1 : Introduction à la Programmation OO
2
Objectifs générales :
Dans ce cours, l’apprenant doit comprendre les concepts
fondamentaux de l’approche Orienté Objet.
Savoir les différentes phases de développement d’un logiciel
robuste (cycle de vie)
Pre-requis:
Aquisotion des notions de base de la programmation
procédurale /impérative, tel que:
• Type, variable
• structure de contrôle (boucle, test,…)
• Fonctions, paramètre, …
26/02/2014
Tableau de matières
3
26/02/2014
1.1 pourquoi l’orienté Objet?
4
26/02/2014
1.1 pourquoi l’orienté Objet ?
5
Exemple d’un programme procédurale:
Q- Comment les traitements
manipulent les données?
R- par le biais des arguments
Pas de lien sémantique
explicite
Solution?
26/02/2014
1.1 pourquoi l’orienté Objet ?
6
Largeur
Solution est de regrouper les données d’un
Hauteur
rectangle et leurs traitements qui lui sont
spécifiquement associé dans une seul entité
Surface()
rectangle
26/02/2014
1.1 pourquoi l’orienté Objet ?
7
Définition
La programmation Orienté Objet POO est le fait de découper un
programme en objets qui interagissent les uns avec les autres et de
prévoir ces interactions.
26/02/2014
L’Objet
8
Objet identité : valeurs de ses données
caractéristiques
- Données Etat : valeurs de ses données
- Opérations()
comportement : est l’ensemble des opérations
qu’il peut exécuter en réaction aux messages
envoyés par les autres objets.
Exemple 1
Objet Rectangle
‘rect1’
identité : rect1
- Largeur =3.0
- Hauteur=2.5 Etat : largeur=3.0 et hauteur =2.5
- surface()
comportement : peut calculer son surface.
26/02/2014
L’Objet
9
Exemple 2 Dans une entreprise, un employé TOTO (son numéro de sécurité
sociale 1 05 73 123 456 permet son identification unique dans
l’entreprise), est employé sur un poste de technicien dans la société
X située à Alger.
Objet Rectangle
‘employé 1’
identité : employé 1
- num sécu
- nom
- qualification Etat : - num sécu : 1 05 73 123 456
- lieu de travail - nom : TOTO
- Entrer(), - qualification : Technicien
- sortir() - Lieu de travail : Alger
- Changer-quali comportement : - entrer/sortir de la société
- changer de qualification
- changer de lieu de travail
26/02/2014
Classe
10
Avant de créer des objets, il faut définir un modèle. Des objets pourront
être crées à partir de ce modèle. Ce modèle s’appelle une classe.
En programmation Objet:
Pour cela en doit comprendre en premier lieu les deux concepts de base
encapsulation puis l’abstraction
26/02/2014
Encapsulation
11
Encapsulation : regrouper dans le même objet, les donnée et les traitements
qui lui sont spécifiques.
Exemple
Un objet Robot qui a deux vitesses
(gauche et droite). Il peut avancer
en avant (ou reculer en arrière)
quand ses deux vitesses sont égaux
et positifs (négatif respectivement).
Comme il peut touner vers la
gauche (ou la droite) si les 2
vitesses sont différents. Il peut
aussi freiner si les deux vitesses
tendent vers le 0.
26/02/2014
Encapsulation
12
questions qui se posent :
Comment peut-on empêcher le blocage des roues ? Empêcher que vitG=vitD=0
pour ne pas avoir un freinage brutal ;
Comment empêcher l’inversion brutale du sens de rotation des moteurs ?
comment éviter de casser la mécanique (il marche en avant et on lui demande
d’aller directement en arrière son freinage en changeant ses deux vitesses en
valeurs négatives).
Comment éviter un virage trop serré qui remettrait en cause la stabilité de la
trajectoire ? Eviter un renversement
Des règles d’accès à l’état d’un objet sont indispensables pour éviter les
mauvaises utilisations. Ces règles appelés Règles d’encapsulation.
26/02/2014
Encapsulation
13
il faut utiliser plutôt les méthodes (avancer, tourenr, …) dont les concepteurs
auront prévu ces cas d’utilisation extrêmes au lieu d’accéder directement à ses
attributs.
26/02/2014
Encapsulation
14
Avantage:
• une meilleure visibilité et une meilleure cohérence au programme
• une plus grande modularité.
• un cadre de programmation plus rigoureux à l’utilisation des objets, de sorte
que les objet ne peuvent être utilisés qu’au travers de leur interface (niveau
externe)
26/02/2014
Interface d’un objet
15
26/02/2014
Abstraction
16
Résumé
attributs méthodes
Abstraction
Interface
(partie Visible)
implémentation
(partie interne)
Détails
26/02/2014
Exercice
17
Exercice :
Soit un objet chien qui a une taille et un nom. Cet objet peut aboyer de 3 façons
différentes selon sa taille. Si sa taille >60 alors il aboit ainsi : « Grrr Grrr » ; si sa
taille est entre 15 et 60 donc il aboit « Aoef aoef ». S’il est petit ( taille < 15 ) alors il
aboit « Kaif, Kaif ».