Table des mati`eres
3 H´eritage 5
3.1 Introduction - L’h´eritage, qu’est-ce que c’est ? . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Retour sur les constructeurs et sur l’utilisation de this . . . . . . . . . . . . . . . . 6
3.2.1 Les constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2 Une autre utilisation de this . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 M´ethodes et h´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.1 M´ethodes h´erit´ees - m´ethodes propres . . . . . . . . . . . . . . . . . . . . . . 11
3.3.2 Sur-classes, sous-classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.3 Red´efinition des m´ethodes d’instance . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.4 Appel d’une m´ethode d’instance h´erit´ee et/ou red´efinie . . . . . . . . . . . . 16
3.3.5 Red´efinition des m´ethodes de classe . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.6 Utilisation de super . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Surcharge des m´ethodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.1 Surcharge v.s red´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.2 S´election et ex´ecution d’une m´ethode . . . . . . . . . . . . . . . . . . . . . . 25
3.5 Variables d’instance et h´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.1 Acc`es aux variables d’instance . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.2 Des constructeurs pour les classes-fille - super( ) . . . . . . . . . . . . . . . 32
4 Packages et r`egles d’acc`es 33
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Utilisation et cr´eation de packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.1 Un peu de vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.2 Acc`es aux classes d’un package . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.3 La variable d’environnement CLASSPATH . . . . . . . . . . . . . . . . . . . . . 38
4.2.4 Cr´eer un package - Ajouter une classe `a un package . . . . . . . . . . . . . . 39
4.3 Acc`es aux ´el´ements d’une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3.1 Modificateurs usuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 Contrˆole de la red´efinition et de l’h´eritage : final et abstract . . . . . . . . . . . . 40
4.4.1 Utilisation de final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4.2 Classes et m´ethodes abstraites . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 Exceptions 43
5.1 Des exceptions, pourquoi faire ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.1 Objectif des exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.2 Cadre g´en´eral de l’utilisation des exceptions . . . . . . . . . . . . . . . . . . . 45
5.2 Les classes d’exception de java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Exceptions et h´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47