USTL Licence Informatique 2006–2007
UE Programmation Orient´
ee Objet
Devoir Surveill´
e
1 heure 1
4- documents ´ecrits autoris´es
jeudi 22 mars 2007
Pr´ecisez votre num´ero de groupe sur votre copie.
Les interfaces suivantes sont donn´ees :
_____FICHIER Herbivore.java
package animal;
import plante.Plante;
public interface Herbivore {
public void mange(Plante p);
}
_____FICHIER Mammifere.java
package animal;
public interface Mammifere {
/** @return le nombre de pattes du mammifere
*/
public int getNbPattes();
/** @return vrai ssi le mammifere est un mammifere marin
*/
public boolean estMarin();
}
Exercice 1 : On consid`ere le code suivant :
______FICHIER Lapin.java
package animal;
public class Lapin implements Herbivore, Mammifere {
private String nom;
private int age;
// tous les lapins partagent le mˆ
eme clapier
public static final Clapier leClapier = new Clapier();
public Lapin(String nom, int age) { ... }
...
}
R´epondez concis´ement mais pr´ecis´ement aux questions suivantes :
Q 1 . Si tab est un tableau de lapins, comment peut on obtenir sa dimension ?
Correction.tab.length
Q 2 . Quels sont tous les types que peuvent prendre les r´ef´erences qui peuvent ˆetre initialis´ees par une instance
de la classe Lapin ?
Correction.Object,Lapin,Herbivore,Mammifere
Q 3 . Quelles d´efinitions contient au minimum et `
a coup sˆur le corps de la classe Lapin ?
Correction.la m´
ethode de Herbivore et les 2 m´
ethodes de Mammifere
Q 4 . Comment fait on r´ef´erence depuis une classe Ferme du paquetage ferme `a l’attribut leClapier de la
classe Lapin ?
Correction.Lapin.leClapier, apr`
es avoir import´
eanimal, sinon animal.Lapin.leClapier
Q 5 . Comment fait on r´ef´erence depuis une classe Ferme du paquetage ferme `a l’attribut nom de la classe
Lapin ?
Correction.On ne peut pas car nom est priv´
e
Q 6 . Quelle commande permet de g´en´erer la documentation du paquetage animal ?
Correction.depuis le r´
epertoire de sourcejavadoc animal -d ../docs