Vous êtes sur la page 1sur 39

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Programmation Orient Objet


IFIPS Apprentissage 2

Joel Falcou - LRI joel.falcou@lri.fr Bat. 490 - Bureau 104

2008-2009

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Flot de dveloppement logiciel

Analyse Conception Implementation Tests Maintenance

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Flot de dveloppement logiciel

Analyse
Mthodes de conception SADT,Merise, UML

Conception Implementation Tests Maintenance

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Flot de dveloppement logiciel

Analyse
Mthodes de conception SADT,Merise, UML

Conception Implementation Tests Maintenance


?

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

La Programmation Imprative Structure


Principes Instructions disposes en squences appeles bloc Structures de contrles simples (itrations,branchements) Possibilit de dnir des fonctions Regroupement des fonctions en modules

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

La Programmation Imprative Structure


Principes Instructions disposes en squences appeles bloc Structures de contrles simples (itrations,branchements) Possibilit de dnir des fonctions Regroupement des fonctions en modules Avantages Lisibilit (structures simples) Modularit

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

La Programmation Imprative Structure


Principes Instructions disposes en squences appeles bloc Structures de contrles simples (itrations,branchements) Possibilit de dnir des fonctions Regroupement des fonctions en modules Avantages Lisibilit (structures simples) Modularit Inconvnients Passage lechelle parfois difcile

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

La Programmation Oriente Objet

Principes Un programme = entits en interaction Mise en vidence dentits Mise en vidence de relation entre entits

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

La Programmation Oriente Objet

Principes Un programme = entits en interaction Mise en vidence dentits Mise en vidence de relation entre entits Avantages Faciliter le dveloppement en mode boite noire Maximiser la localit des changements Permettre la rutilisation de code

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Structure du cours

Objectifs Rappel des bases de la POO+UML Introduction des bonnes pratiques de POO Prise en main de C++ Evaluation TP nots Examen Note nale =
1 2

TP +

1 2

Examen

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Des questions ?

Nhsitez prendre contact ! Mail : joel.falcou@lri.fr Tl : 01.69.15.66.35

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Plan du cours

Introduction Rappel : le modle objet Introduction Quelques dnitions Un exemple Relation entre Classe et Objet Notion dencapsulation Hritage et polymorphisme

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Introduction

La conception objet
Approche procdurale : Que doit faire mon programme ? Approche oriente objet : De quoi doit tre compos mon programme ?

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Introduction

La conception objet
Approche procdurale : Que doit faire mon programme ? Approche oriente objet : De quoi doit tre compos mon programme ?

La dcomposition dpend de lanalyse prliminaire

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Introduction

La conception objet
Approche procdurale : Que doit faire mon programme ? Approche oriente objet : De quoi doit tre compos mon programme ?

La dcomposition dpend de lanalyse prliminaire Les lments cls


Entits mises en jeu Relations entre ces entits

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite).

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat Un objet est capable de mettre son tat jour

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat Un objet est capable de mettre son tat jour Les objets sont capables dinteragir entre eux.

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat Un objet est capable de mettre son tat jour Les objets sont capables dinteragir entre eux.

Notion de classe
Des objets similaires sont dcrits par une mme abstraction : une classe. Elle se compose :

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat Un objet est capable de mettre son tat jour Les objets sont capables dinteragir entre eux.

Notion de classe
Des objets similaires sont dcrits par une mme abstraction : une classe. Elle se compose : d attributs : description de ltat interne de lentit

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Quelques dnitions

Notion dobjet
Un objet reprsente une entit issu dun modlisation (concrete ou abstraite). Un objet est dni via son tat Un objet est capable de mettre son tat jour Les objets sont capables dinteragir entre eux.

Notion de classe
Des objets similaires sont dcrits par une mme abstraction : une classe. Elle se compose : d attributs : description de ltat interne de lentit de mthodes : description du comportement de lentit

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Un exemple

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Un exemple en JAVA

class Event { private int type; private Object parameters[]; public Event(int t, Object[] params) { ... } public Object getParameter(int idx) { ... } }

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Relation entre Classe et Objet

Dnitions
On cre un objet en instanciant une classe Linstanciation passe par lappel dun des constructeur de la classe Une mme classe est (en gnral) instanciable linni Des objets instancis partir dune mme classe possdent : des variables distinctes, mais de types identiques des mthodes identiques

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Plan du cours

Introduction Rappel : le modle objet Notion dencapsulation Principes Hritage et polymorphisme

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation

Une classe = donnes + algorithmes


Les membres dune classe sont souvent fortement coupls Ltat interne est potentiellement complexes

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation

Une classe = donnes + algorithmes


Les membres dune classe sont souvent fortement coupls Ltat interne est potentiellement complexes

Exemple : la classe Widget

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation

Une classe = donnes + algorithmes


Les membres dune classe sont souvent fortement coupls Ltat interne est potentiellement complexes

Exemple : la classe Widget


le parent dun Widget ne doit etre modi la vole

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation

Une classe = donnes + algorithmes


Les membres dune classe sont souvent fortement coupls Ltat interne est potentiellement complexes

Exemple : la classe Widget


le parent dun Widget ne doit etre modi la vole draw est potentiellement complexe

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation

Une classe = donnes + algorithmes


Les membres dune classe sont souvent fortement coupls Ltat interne est potentiellement complexes

Exemple : la classe Widget


le parent dun Widget ne doit etre modi la vole draw est potentiellement complexe processEvent dpend du type rel des donnes membres

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation
Sparons interface et attributs !
Les mthodes dnissant le comportement sont publiques Les attributs sont masqus lutilisateur, ils sont dites privs

C ha

ol le

er ng

ec

Comportement

C ( ap

cc

el e

publique

re

r(

l)

Etat interne (cach)

double double double double double

altitude; vitesse_x; vitesse_y; vitesse_z; angle;

A tte rir ()

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Principes de lencapsulation
Sparons interface et attributs !
Les mthodes dnissant le comportement sont publiques Les attributs sont masqus lutilisateur, ils sont dites privs Changer limplantation ne change pas linterface

) ( ap C er ng ha C

Comportement

publique

A cc e l er er (l)

Etat interne (cach)

D ec ol le r

double altitude;

double vitesse_x; double altitude; double vitesse_y; quaternion M; double vitesse_z; double angle;

A t t e rir ()

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Plan du cours

Introduction Rappel : le modle objet Notion dencapsulation Hritage et polymorphisme Principes Exemple

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Hritage et polymorphisme

Principes de lhritage Gnralise les proprits communes de classes Limite la duplication de code Mise en place dune hirarchie de classe

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Hritage et polymorphisme

Principes de lhritage Gnralise les proprits communes de classes Limite la duplication de code Mise en place dune hirarchie de classe De lhritage au polymorphisme Les lles modient le comportement de leur mre Notion dinterface et de classe abstraite

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Un exemple en JAVA

interface Widget { public void draw(); public void processEvent( Event e ); }

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Un exemple en JAVA
class TextBox implements Widget { private String text; public TextBox( String t ) { text = t; } public void draw() { System.out.println(text); } public void processEvent( Event e ) { ... } }

Introduction

Rappel : le modle objet

Notion dencapsulation

Hritage et polymorphisme

Un exemple en JAVA

class ComboBox implements Widget { private String selection; private String options[]; public TextBox( String[] o ){ ... } public void draw() { ... } public void processEvent( Event e ) { ... } }

Vous aimerez peut-être aussi