Soient les classes
Cercle et Carre :
public class Cercle{
public static final double PI= 3.14159;
private double r;
public Cercle(double r) { this.r = r; }
}
|
public class Carre{
private double c;
public Carre(double c) { this.c = c; }
}
|
Forme et FormeComparable :
public interface Forme{
double surface();
}
|
public interface FormeComparable extends Forme{
/**
Renvoie true si l'objet courant
a une surface supérieure à f
**/
boolean estPlusGrand(FormeComparable f);
}
|
Cercle et Carre pour qu'elles implémentent FormeComparable
(pour le cercle, surface = PI * r * r ; pour le carré, surface = c * c).
2) Soit la classe Main :
class Main{
public static void main(String[] args) {
FormeComparable[] tableau = {
new Carre(2),
new Cercle(2),
new Carre(3),
};
}
}
2.1) Ajoutez à Carre et Cercle une méthode public String toString()
affichant respectivement
Cercle 2.0 et Carré 2.0 (affiche le rayon ou le coté au lieu de 2.0).
2.2) Complétez
Main pour obtenir l'affichage :
Carré 2.0 ; surface = 4.0 Cercle 2.0 ; surface = 12.56636 Carré 3.0 ; surface = 9.0 Carré 2.0 est plus grand que Cercle 2.0 ? false(l'affichage des éléments de
tableau doit se faire dans une boucle).
3) Modifiez
FormeComparable, Cercle et Carre pour transférer l'implémentation de la méthode estPlusGrand() dans l'interface.