Bases du langage Java
Accueil
Création de paquetages
  1. Créer un dossier source et un dossier class 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 compilateur javac permet de spécifier la destination des fichiers compilées ?
  2. Créer un paquetage foo. Ecrire une classe Classe1 appartement à ce paquetage et possédant un attibut entier i et un constructeur sans argument initialisant i à 0. Compiler et tester.
  3. Créer un paquetage foo.bar. Ecrire une classe Classe2 appartement à ce paquetage et héritant de Classe1. Lui fournir une fonction inc qui incrémente de 1 l'attribut i de la classe mère. Compiler et tester.
Héritage, redéfinition et tests...
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.
Pour chacune des classes à créer, définir une méthode publique toString(). Se placer dans le dossier de travail foo/barbare/.
  1. A l'aide de la biblothèque JUnit, écrire une classe TExtraTerrestre pour permettre le test des fonctionnalités requises pour notre (future) classe ExtraTerrestre. Elle héritera de junit.framework.TestCase.
  2. Ecrire la classe ExtraTerrestre et vérifier qu'elle passe les tests.
  3. 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 ;
  4. Ecrire une classe THumain pour tester les spécifications d'un humain.
  5. Ecrire une classe fille Telespectateur héritant de la classe Humain : un télespectateur est un humain hors norme, en ce sens qu'il est moins intelligent qu'une huitre !
  6. Dans le code suivant :
    
          Humain bob = new Telespectateur();
          System.out.println("Bob est plus intelligent qu\'une huite:"+bob.huitre);
          System.out.println(bob);
    	    
    Quel est le type de bob à la compilation ? Quel résultat est attendu ?
  7. Ajouter aux classes ExtraTerrestre, Humain et Telespectateur une méthode getHuitre() qui retourne la valeur de l'attribut huitre. Remplacer dans l'extrait de code précédent bob.huitre par bob.getHuitre(). Expliquer le résultat obtenu...
  8. Que se passe-t-il si vous enlevez la méthode toString de la classe Telespectateur ?
Commentaires du code et génération de la documentation
  1. Commenter les classes, leurs attributs et leurs méthodes entre des balises /** et */.
  2. Générer la documentation de l'ensemble des sources du dossier foo à l'aide de l'outil javadoc.
  3. Compléter les commentaires du source à l'aide des tags sémantiques reconnus par javadoc.
Références

Valid XHTML 1.1 Valid CSS!