Hritage: les concepts - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Hritage: les concepts

Description:

Utiliser les caract ristiques d'une classe d j identifi e et en sp cifier de ... M canisme permettant de d river une classe partir d'une classe existante ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 14
Provided by: Bru6155
Category:

less

Transcript and Presenter's Notes

Title: Hritage: les concepts


1
Héritage les concepts
  • IP10

2
Généralisation et spécialisation
  • Généralisation
  • Factoriser les éléments communs (attributs,
    opérations...) dun ensemble de classes
  • Simplifier les diagrammes (regroupements
    sémantiques)
  •  est un ,  est une sorte de 
  • Spécialisation
  • Utiliser les caractéristiques d'une classe déjà
    identifiée et en spécifier de nouvelles.
  • Hiérarchie de classe
  • Arborescence des héritages

3
Généralisation
Constat des caractéristiques communes
4
Généralisation
Nota La sémantique de retirer est différente
5
Spécialisation
Un PlanEpargneLogement est un CompteEpargne
ayantdes caractéristiques propres
6
Arborescence d'héritage
CompteChèque
montantDécouvAutorisé
changerDecouvert () retirer ()
7
Redéfinition dune méthode
Sémantique de la méthode retirer CompteCheque
retrait autorisé suivant découvert CompteEpargne
pas de découvert autorisé CompteEpargneLogement
pas de retrait
8
Héritage et sous classes
  • Héritage
  • Mécanisme permettant de dériver une classe à
    partir d'une classe existante
  • Permet de classer
  • Etendre structurellement et comportementalement
    une classe
  • Permet de construire
  • Réutiliser le code d'une classe existante
  • Classe dérivée
  • Hérite de toutes les caractéristiques de son
    (ses) ancêtre(s)
  • Peut avoir des caractéristiques propres
  • Peut redéfinir des caractéristiques héritées

9
Héritage La programmation java
  • IP10

10
Héritage dans JAVA
  • Définir une classe dérivée
  • extends
  • par défaut extends Object

class CompteBancaire double solde //
... void deposer( double montant ) //
class CompteEpargne extends
CompteBancaire double taux // double
calculerInterets() //
class TestCompteEpargne public static void
main( String arg ) //...
CompteEpargne ce double
interet ce new CopmpteEpargne()
ce.deposer( 100.0 ) interet
ce.calculerInterets()
CompteBancaire.java
TestCompteEpargne.java
CompteEpargne.java
11
Héritage Constructeur
class CompteBancaire double solde
CompteBancaire ( double soldeInitial )
solde soldeInitial //
.. class CompteEpargne extends CompteBancaire
double taux CompteEpargne
(double soldeInit, double tauxInit)
super ( soldeInit ) taux
tauxInitial //...
  • Appel du constructeur de la classe mère
  • En labsence de constructeur, appel du
    constructeur par défaut de la classe mère - le
    compilateur insère un appel à la méthode super()
  • Conseil Pour éviter tout problème, toujours
    définir un contructeur !!
  • Pour invoquer un constructeur de la classe mère
  • super(...) doit être la première instruction

12
Redéfinition dune méthode
class CompteBancaire // void retirer (
double montant ) if (solde gt
montant) solde solde - montant
//...
class CompteEpargne extends CompteBanc // Pas
de méthode retirer // car héritage de
CompteBancaire
class CompteChèque extends CompteBancaire //
void retirer ( double montant )
if (solde decouvert gt montant) solde
solde - montant //...
class CompteEpargneLogement extends CompteBanc
void retirer ( double montant ) //
Interdit
13
Règles (partielles) de visibilité en JAVA
ClasseDérivée
ClasseMère
Les qualificatifs s'appliquent aux attributs et
aux méthodes
Write a Comment
User Comments (0)
About PowerShow.com