e-Quest Analyse - II -
2.5 VARIABLES DE CLASSES ET VARIABLES D’INSTANCE 39
Initialisation d'une variable de classe 41
Accéder aux variables de classe et aux variables d’instance 41
Le constructeur de classe 41
2.6 POURQUOI «ABSTRAIT» ? 42
2.7 INTÉRÊT DES TYPES ABSTRAITS 42
On s’intéresse d’abord aux opérations.. 42
Indépendance par rapport à l’implantation.. 43
Un exemple.. ré-implantation de la classe «Rectangle» 43
2.8 LA PROGRAMMATION OBJET ET LES TYPES ABSTRAITS 45
Programmation objet versus programmation procédurale 45
Un objet est-il un type abstrait ? 47
Classes et types abstraits 48
2.9 LA STRUCTURE D’UN PROGRAMME 48
Les paquetages 48
Organisation des fichiers sources 50
Amorce de l’application: la classe principale (main)50
3HÉRITAGE ET POLYMORPHISME 53
3.1 JAVA ET LE MÉCANISME D’HÉRITAGE 54
Héritage simple contre héritage multiple 54
Héritage simple en Java 56
Un exemple théorique 58
Héritage: quel intérêt? 59
Une meilleure structuration du programme 59
La réutilisation de code 59
L'héritage et l'utilisation de la mémoire 59
Edition de liens dynamique 60
Objets: type de déclaration et type courant 61
3.2 UN BILAN SUR LES MODES DE PROTECTION 64
Encapsulation 65
Le mode privé: «private» 65
Le mode public: «public» 66
Le mode protégé: «protected» 66
Le mode «paquetage »: mode par défaut 68
Conseils et recommandations 68
3.3 ENCHAÎNEMENT DES CONSTRUCTEURS 71
Invocation implicite du constructeur de la superclasse 71
Le constructeur par défaut 73
3.4 BIEN UTILISER L'HÉRITAGE 74
L'héritage, vu comme un outil de spécialisation 74
La relation «est-un» 77
Le sous-typage 78
Rappel : la notion de type 79
Notion de sous-type 79
La règle de substitution 79
3.5 LA REDÉFINITION DES MÉTHODES 80
Redéfinition et surcharge: parfois la confusion 80
Redéfinition: répondre à la règle de substitution 82
Premier corollaire: est-il possible de changer le mode de protection ? 83