Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
cours05

cours05

Ratings: (0)|Views: 116 |Likes:
Published by SANGARE SOULEYMANE

More info:

Published by: SANGARE SOULEYMANE on Dec 31, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF or read online from Scribd
See more
See less

06/16/2009

 
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Informatique II :Cours de programmation (C++)Introduction à laProgrammation Orientée Objet (POO)
Jamila Sam HaroudLaboratoire d’Intelligence ArtificielleFacult´e I&C
Informatique II – Cours 5 : Introduction POO – 1
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Objectifs du cours d’aujourd’hui
Introduire les notions d’
encapsulation
et d’
abstraction
Objets
, instances et
classes
Classes en C++p
Variables d’instancep
Méthodes
d’instancep
Encapsulation et Interfaces :
public:
et
private:
L’objet
this
et le
masquage
Informatique II – Cours 5 : Introductio
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Objets : 1ère introduction
Vous avez appris à écrire des programmes de plus en pluscomplexes.Il faut donc maintenant des outils pour
organiser ces programmes
defaçon plus efficace.C’est l’un des objectifs principaux de la notion d’
objet
.Les objets permettent de mettre en œuvre dans les programmes lesnotions :
d’encapsulation
d’abstraction
d’héritage
et de polymorphisme
Informatique II – Cours 5 : Introduction POO – 3
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Programmation impérative/procédurale[rappel]
Dans les programmes que vous avez écrits jusqu’à maintenant, lenotions de variables/types de
données
et de
traitement
de cesdonnées étaient séparées :
traitements données
influencentopèrent sur
Informatique II – Cours 5 : Introductio
 
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notions d’encapsulation
Le premier
principe d’encapsulation
consiste à
regrouper 
, dans lemême objet informatique, données et traitements qui lui sontspécifiques:
Les données inclues dans un objet seront appelées les
attributs
de cet objet;
Les traitements/fonctions défini(e)s dans un objet seront appeléesles
méthodes
de cet objet.Résumé du premier principe de l’encapsulation :
OBJET=attributs+méthodes
Informatique II – Cours 5 : Introduction POO – 5
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notion d’encapsulation (2)
Les objets sont définis par leurs attributs et leurs méthodes :
Objet1
attribut1.1Methode1.1attribut1.2
...
ObjetK 
attributK.1MethodeK.1MethodeK.2
Informatique II – Cours 5 : Introductio
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notion d’encapsulation (3)
En plus du regroupement des données et des traitements relatifs à uneentité, l’encapsulation permet de définir deux
niveaux de perception
:
Le niveauexterne: partie «visible» (par les utilisateurs) de l’objet :
prototype
des méthodes et attributs accessibles hors del’objet
c’est l’
interface
de l’objet avec l’extérieur
Le niveauinterne: (détails d’)
implémentation
de l’objet
méthodes et attributs accessibles uniquement depuisl’intérieur de l’objet (ou l’intérieur d’objets similaires)
définition
de l’ensemble des méthodes de l’objet
c’est le
corps
de l’objet
Informatique II – Cours 5 : Introduction POO – 7
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Encapsulation et Interface
Deux facettes de l’encapsulation :1. regroupement de tout ce qui caractérise l’objet : données(attributs)
et
traitements (méthodes)2. isolement et dissimulation des détails d’implémentation
Interface
= ce que le programmeur-utilisateur (hors de l’objetpeut utiliser
Concentration sur les attributs/méthodes concernant l’objExemple :l’interface d’une voiture
Volant, accélérateur, pédale de freins, etc.
Tout ce qu’il faut savoir pour la conduire (mais pas la réparer!comprendre comment ça marche)
L’interface ne change pas, même si l’on change de moteur......et même si on change de voiture (dans une certaine mesure)abstractionde la notion de voiture (en tant qu’« objet à conduir
Informatique II – Cours 5 : Introductio
 
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notion d’encapsulation (résumé)
Détails d’Implémentation
(partie interne/cachée)
Interface
(partie visible)
OBJET
attributsméthodes
Informatique II – Cours 5 : Introduction POO – 9
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Pourquoi encapsuler?
L’intérêt de regrouper les traitements et les données conceptuellereliées est de permettre une meilleure visibilité et une meilleurecohérence au programme, d’offrir une plus grande modularité.L’intérêt de séparer les niveauxinterneetexterneest de donner u
cadre
plus
rigoureux
à l’utilisation des objets utilisés dans un proLes objets ne peuvent être utilisés qu’au travers de leur interfaces(niveau externe)et donc les éventuelles
modifications
de la structure interne rest
invisibles
à l’extérieur(même idée que la séparation prototype/définition d’une fonction)Règle : (masquage)les attributs d’un objet ne doivent pas êtreaccessibles depuis l’extérieur, mais uniquement par des méthodeUn autre intérêt d’encapsuler est que cela permet d’
abstraire
...
Informatique II – Cours 5 : Introduction
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notion d’abstraction (1)
Pour être véritablement intéressant, un objet doit permettre un certaindegré d’
abstraction
.Le processus d’abstraction consiste à identifier pour un ensembled’éléments :
des caractéristiques communes à tous les éléments
des mécanismes communs à tous les éléments
description
générique
de l’ensemble considéré : se focaliser surl’essentiel, cacher les détails.
Informatique II – Cours 5 : Introduction POO – 11
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
c
EPFL 2008Jamila Sam
Notion d’abstraction (2)
Exemple:Figures géométriques
la notion d’
« objet rectangle »
n’est intéressante que si l’on plui associer despropriétés et/ou mécanismes généraux
propriétés et mécanismes
valables pour l’ensemble
desrectangles et non pas pour un rectangle particulier.
Les notions delargeurethauteursont des propriétés général des rectangles (
attributs
),
Le mécanisme permettant de calculer la surface d’un rectang(surface = largeur
×
hauteur) est commun à tous les rectangl(
méthodes
)
Informatique II – Cours 5 : Introduction

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->