-
Créer un dossier
source
et un dossierclass
dans votre dossier de travail. Les sources seront placées dans le premier dossier, les classes compilées dans le second. Comment sont organisés les paquetages Java dans l'arborescence des fichiers. Quelle option du compilateurjavac
permet de spécifier la destination des fichiers compilées ? -
Créer un paquetage
foo
. Ecrire une classeClasse1
appartement à ce paquetage et possédant un attibut entier i et un constructeur sans argument initialisant i à 0. Compiler et tester. -
Créer un paquetage
foo.bar
. Ecrire une classeClasse2
appartement à ce paquetage et héritant deClasse1
. Lui fournir une fonctioninc
qui incrémente de 1 l'attribut i de la classe mère. Compiler et tester.
On souhaite modéliser des extra-terrestres par le biais
d'une classe nommée
ExtraTerrestre
. Notre
classe possédera les fonctionnalités suivantes :
- une variable booléenne maison qui indique si l'extra-terrestre est sur sa planète natale ou non ;
- une variable booléenne publique huitre qui stipule si l'extra-terrestre est plus intelligent (c'est subjectif!) qu'une huitre ou non ;
- une variable entière privée nbJambes ;
-
une méthode
nostalgie()
qui affiche "E.T. téléphone maison" si l'extra-terrestre est plus intelligent qu'une huitre et n'est pas sur sa planète natale ; -
une méthode
bipede()
qui indique si l'extra-terrestre a 2 jambes ou non.
toString()
. Se placer dans le
dossier de travail foo/barbare/
.
-
A l'aide de la biblothèque
JUnit
, écrire une classeTExtraTerrestre
pour permettre le test des fonctionnalités requises pour notre (future) classe ExtraTerrestre. Elle héritera dejunit.framework.TestCase
. -
Ecrire la classe
ExtraTerrestre
et vérifier qu'elle passe les tests. -
Ecrire une classe fille
Humain
héritant d'ExtraTerrestre
:- un humain est plus intelligent qu'une huitre ;
- un humain est sur sa planète natale ;
-
Ecrire une classe
THumain
pour tester les spécifications d'un humain. -
Ecrire une classe fille
Telespectateur
héritant de la classeHumain
: un télespectateur est un humain hors norme, en ce sens qu'il est moins intelligent qu'une huitre ! -
Dans le code suivant :
Quel est le type deHumain bob = new Telespectateur(); System.out.println("Bob est plus intelligent qu\'une huite:"+bob.huitre); System.out.println(bob);
bob
à la compilation ? Quel résultat est attendu ? -
Ajouter aux classes
ExtraTerrestre
,Humain
etTelespectateur
une méthodegetHuitre()
qui retourne la valeur de l'attribut huitre. Remplacer dans l'extrait de code précédentbob.huitre
parbob.getHuitre()
. Expliquer le résultat obtenu... -
Que se passe-t-il si vous enlevez la méthode
toString
de la classeTelespectateur
?
-
Commenter les classes, leurs attributs et leurs méthodes
entre des balises
/**
et*/
. -
Générer la documentation de l'ensemble des sources du
dossier
foo
à l'aide de l'outiljavadoc
. -
Compléter les commentaires du source à l'aide des
tags sémantiques reconnus par
javadoc
.
- Les tutoriels Java
- Documentation de l'API de Java SE 5.0
- Le chapitre Testing with JUnit
- La page de l'outil javadoc