Objectif de l’exercice 5
- Implémenter une méthode
static - Observer les différences entre méthode
staticou nonstatic
Travail à faire
Tâche 1
- Définissez une classe
Trianglequi possède un attribut base et hauteur - Définissez un constructeur permettant d’instancier un triangle avec ses deux attributs
- Ajoutez une méthode
double computeArea()qui retourne l’aire du triangle. - Testez votre code à l’aide d’une autre classe (par exemple nommée
TriangleTesteravec unmain) et vérifiez que tout est en ordre
Tâche 2
- Ajoutez maintenant une méthode nommée
public static double computeTriangleArea(Triangle t)dans la classeTriangleTester. Cette méthode est statique. Remarquez comment dans ce cas on reçoit un argument de typeTriangleet que l’on peut faire les calculs à l’aide de cela. - Complétez la méthode
computeTriangleAreaet observez comment vous devez l’appeler par rapport à la méthodecomputeAreaqui se trouve dans la classeTriangle
La solution à cet exercice
public class Triangle {
double base;
double height;
Triangle(double base, double height){
this.base = base;
this.height = height;
}
public double computeArea() {
return base * height / 2.0;
}
}
public class TriangleTester {
public static double computeTriangleArea(Triangle t) {
return t.height * t.base / 2;
}
public static void main(String[] args) {
Triangle t1 = new Triangle(12, 8);
double areaT1 = t1.computeArea();
System.out.println("Should be equal : " + (areaT1 == 48));
Triangle t2 = new Triangle(5, 10);
double areaT2 = computeTriangleArea(t2);
// Is also correct
// double areaT2 = TriangleTester.computeTriangleArea(t2);
System.out.println("Should be equal : " + (areaT2 == 25));
}
}
