Objectifs
- comprendre la généralisation et la spécialisation;
- comprendre l'héritage;
- comprendre les grands principes : substitution, liaison tardive;
- mettre en oeuvre ces principes en TP.
Pré-requis
- les cours des séances précédentes.
Contenu du TP
- comprendre le polymorphisme, les vérifications du compilateur et la liaison tardive sur un exemple simple;
- redéfinir une méthode;
- spécialiser une classe et tester une classe spécialisée.
Documents fournis
Attention : vous utiliserez maintenant l'environnement de développement Eclipse. Ne mettez pas à jour manuellement la copie locale de votre dépôt Subversion. Vous devrez créer un nouveau projet Eclipse en effectuant un checkout du répertoire TP5 de votre dépôt.
- transparents du cours;
- l'énoncé du TP;
- la documentation des classes à utiliser;
- la documentation de l'API Java sur le site d'Oracle.
Corrigé
- le corrigé du TP;
- la documentation de toutes les classes;
- la trace de l'exécution de
ExempleComptes
; - la trace de l'exécution de
TestListe
; - une page contenant les résultats des tests;
- la trace de l'exécution de
CompteCourantTest
; - les sources des classes au format HTML;
- fr.isae.geometry.Point
- fr.isae.geometry.PointTest
- fr.isae.geometry.PointNomme
- fr.isae.geometry.PointNommeTest
- fr.isae.geometry.TestPolymorphisme
- fr.isae.bank.Personne
- fr.isae.bank.Historique
- fr.isae.bank.HistoriqueTest
- fr.isae.bank.CompteSimple
- fr.isae.bank.CompteSimpleTest
- fr.isae.bank.CompteCourant
- fr.isae.bank.CompteCourantTest
- fr.isae.bank.ExempleComptes
- fr.isae.bank.TestListe
- une archive contenant toutes les sources avec les classes de test.