Structures en Java Introduction

publicité
'
Structures en Java
MD2
Structures en Java
$
www.lamsade.dauphine.fr/˜maudet/cours/md2/
Plan
• héritage
• exceptions
• flux et fichiers
• notions de programmation graphique
• introduction au parallélisme
• ...
&
Univ. Paris Dauphine
'
1
Structures en Java
MD2
Introduction
%
$
Réutiliser
• un des grands principes de la programmation orientée objet
• crucial pour des aspects d’efficacité et de validation
• réutilisation des types (⇒ cf. notion d’interface)
• réutilisation des classes?
&
Univ. Paris Dauphine
2
%
'
Structures en Java
MD2
Héritage (principes)
$
Réutiliser les classes?
• composition = créer des objets des classes existantes dans la nouvelle
classe
• héritage = créer une nouvelle classe du type d’une classe déja existante
&
Univ. Paris Dauphine
'
3
Structures en Java
MD2
Héritage (principes)
%
$
Terminologie
Soit une classe existante, toute classe qui hérite de cette classe est une
classe fille de cette classe (classe mère).
Hériter c’est...
• pouvoir utiliser les ressources (méthodes en particulier) de la classe
mère.
Hériter c’est aussi...
• pouvoir étendre le comportement hérité de la classe mère
&
Univ. Paris Dauphine
4
%
'
Structures en Java
MD2
Héritage (principes)
$
Etendre le comportement de la classe mère
• ajouter de nouvelles méthodes
• modifier certaines méthodes de la classe mère
• ajouter de nouvelles variables d’instances
• combiner ces trois approches
&
Univ. Paris Dauphine
'
5
Structures en Java
MD2
Héritage (principes)
%
$
• une classe ne peut être la classe fille que d’une seule classe mère
• la relation d’héritage est une relation transitive
⇒ structure d’arbre (arbre de classes)
Racine de cet arbre? la classe Object!
&
Univ. Paris Dauphine
6
%
'
Structures en Java
MD2
Héritage (principes)
$
Quelques règles
Soit une classe existante Cc
• les méthodes de toute sur-classe sont accessibles aux objets de Cc
• les objets de Cc ne peuvent accéder à aucune des méthodes des
sous-classes de Cc
• les sous-classes de Cc définissent des sous-types du type Cc
• les objets de Cc sont aussi des types des sur-classes
&
Univ. Paris Dauphine
'
7
Structures en Java
MD2
Exemple
%
$
Compte
7
gOOO
p
p
OOO
p
p
p
OOO
p
p
p
OOO
p
p
p
CompteGold
CompteCredit
O
LivretJ eune
• Un CompteGold est un Compte (mais qui permet des découverts)
• Un CompteCrédit est un Compte (mais qui produit des intérêts)
• Un LivretJeune est un CompteCredit (mais avec un taux très
avantageux)
• ... et par transitivité un LivretJeune est aussi un Compte
&
Univ. Paris Dauphine
8
%
'
Structures en Java
MD2
Syntaxe Java
$
extends mot-clef pour définir la relation d’héritage
&
Univ. Paris Dauphine
9
%
Téléchargement