Vous êtes sur la page 1sur 5

Rpublique Tunisienne

Ministre de lEnseignement Suprieur


Institut Suprieur des Etudes Technologiques de Nabeul

Support de cours

_________________________________

PROGRAMMATION ORIENTEE OBJETS


____________________

Niveau : Troisime niveau de la section informatique


Option : Informatique Industrielle

Ralis par : SGHAIER Imene

Anne Universitaire : 2007-2008

Table des Matires


INTRODUCTION A LA POO ....................................................................................................................................................1
0.1
Rappel : Les Types Abstraits de donnes................................................................................................................1
0.2
Exemple : concept POO ............................................................................................................................................2
CONCEPTS DE BASE DE LA POO .........................................................................................................................................4
1.1
De la programmation classique vers la programmation oriente objet .............................................................4
1.2
Dfinitions ....................................................................................................................................................................5
LES CONCEPTS ORIENTES OBJETS EN JAVA...............................................................................................................10
2.1
Notion de Classe........................................................................................................................................................10
2.2
Attributs et Mthodes ...............................................................................................................................................12
2.3
Objets et Instanciation..............................................................................................................................................17
2.4
Membres statiques et Autres mots cls (final, this, null) ....................................................................................22
2.6
Les packages ...............................................................................................................................................................26
3.1
Lencapsulation ..........................................................................................................................................................29
3.2
Modificateurs de visibilit et Accs ........................................................................................................................29
3.3
Surcharge des Mthodes...........................................................................................................................................33
LHERITAGE .................................................................................................................................................................................38
4.1
Le principe de l'hritage............................................................................................................................................38
4.3
L'accs aux proprits hrites ................................................................................................................................40
4.4
Construction et initialisation des objets drivs...................................................................................................42
4.5
Drivations successives ............................................................................................................................................44
4.6
Redfinition et surcharge de membres .................................................................................................................44
4.7
Autres mots cls final et super ....................................................................................................................47
4.8
Des conseils sur l'hritage ........................................................................................................................................48
LE POLYMORPHISME...............................................................................................................................................................49
5.1
Concept de polymorphisme.....................................................................................................................................49
5.2
Exemples et interprtations .....................................................................................................................................49
5.3
Conversion des arguments effectifs .......................................................................................................................52
5.4
Les conversions explicites de rfrences ...............................................................................................................53
CLASSES ABSTRAITES ET INTERFACES ..........................................................................................................................57
6.1
Les classes abstraites .................................................................................................................................................57
6.2
Les interfaces..............................................................................................................................................................60

Prsentation du cours
Ce cours est conu comme une introduction aux paradigmes de la programmation oriente objet. Il
prsente les notions de base de cette technologie : type abstrait de donnes, classe, objet, hritage simple et
multiple, objet complexe. Mcanisme dabstraction, surcharge, gnricit, polymorphisme. Les concepts
seront illustrs avec le langage JAVA.

Niveaux cibles :
tudiants du niveau 3, toutes filires (Rseaux Informatique, Informatique de gestion, informatique
industrielle)

Pr-requis :
Algorithmique, Structures de donnes, Programmation I et Programmation II

Formule pdagogique :
Expos informel
Laboratoire

Moyens pdagogiques :
Tableau
Support de cours

Mthodologie :
Cours intgr
Travaux dirigs (ralisation et correction dexercices)
Travaux pratiques (JDK 1.5 + console MS-DOS)

Volume Horaire :
22.5 heures de cours
45 heures de travaux pratiques

Objectifs gnraux :
Comprendre les origines et lintrt dun nouveau style de programmation oriente objet
Matriser les concepts orients objet en termes de dfinitions, syntaxe Java et usage
Savoir utiliser cette nouvelle approche pour modliser des problmes
Faire la liaison entre les diffrents lments du cours (classes, objets, encapsulation,
hritage, polymorphisme, classe abstraite et les interfaces)
Traiter la gestion des exceptions afin de permettre une production du code efficace

Objectifs gnraux
1- Sinitier aux concepts orients

Conditions de ralisation de la
Critres dvaluation de la
performance
performance
A partir des notes du cours, des travaux Aucune confusion entre les

objets et leurs intrts pratiques.

dirigs

et

des

rfrences principes

de

la

bibliographiques, ltudiant doit tre programmation classique et


capable de dgager les lacunes de la programmation objet
lapproche classique de programmation
et

de

distinguer

les

principales

caractristiques de POO
2- Comprendre les concepts

A partir des notes du cours, des travaux Les

orients objet en termes de

dirigs

concept, syntaxe Java et

bibliographiques, ltudiant doit tre classe en Java doivent tre

utilisation.

capable de concevoir des classes et des russis

et

des

exercices

relatifs

rfrences limplmentation

dune

objets en Java
3-

Comprendre

lapplication

lutilit

des

et A partir des notes du cours, des travaux Les exercices relatifs laccs

concepts dirigs

dencapsulation et de surcharge.

et

des

bibliographiques,

rfrences aux membres privs doivent

ltudiant

doit tre matriss

matriser les concepts dencapsulation et


surcharge
4- Comprendre la technique

A partir des notes du cours, des travaux Aucune erreur nest permise

dhritage et ses intrts

dirigs

pratiques

bibliographiques, ltudiant doit tre la manipulation dune classe

et

des

rfrences au niveau de la dfinition et

capable de concevoir et implmenter des drive


classes drives.
5- Comprendre le concept de

A partir des notes du cours, des travaux Aucune erreur nest permise

polymorphisme et ses intrts

dirigs

pratiques

bibliographiques,

et

comprendre

des

rfrences au niveau de la liaison entre

ltudiant

lintrt

pratique

doit lhritage

et

le

de polymorphisme

polymorphisme et la relation avec


lhritage
6- Comprendre et distinguer

A partir des notes du cours, des travaux Aucune confusion entre les

entre les 2 concepts de classes

dirigs

abstraites et interfaces

bibliographiques,

et

des

rfrences 2 concepts nest permise

ltudiant

doit

comprendre lutilit pratique des classes


abstraites et interfaces et distinguer les
nuances entre ces 2 concepts

7- Faire dcouvrir la notion de A partir des notes du cours, des travaux Les
gestion des exceptions

dirigs,

ltudiant

doit

exercices

comprendre limplmentation

lutilit pratique des exceptions.

relatifs

des

mcanismes des exceptions


en Java doivent tre russis

valuation : 1 test, 1 DS et un examen final crits.

Nature
valuation
Test

Devoir
surveill

Contenu

Pourcentage

Semaine 1 4
ou
Semaine 8 15

10%

Semaine 1 8

Date
(environ)
Semaine 1 4
ou
Semaine 8
15

30%

Semaine 8

Note TP

Semaine 2 14

30%

Semaine 15

Examen

Semaine 1 15

40%

Semaine 16

Bibliographie :
http://java.sun.com
Lemay L, Le Programmeur JAVA 2, Campus Press.
Bailly C, Chaline J.F., Ferry H.C & al, Les langages orients objets, Cepadues ditions.