Objectif de l’exercice 5
- Implémenter une méthode
static
- Observer les différences entre méthode
static
ou nonstatic
Travail à faire
Tâche 1
- Définissez une classe
Triangle
qui 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
TriangleTester
avec 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 typeTriangle
et que l’on peut faire les calculs à l’aide de cela. - Complétez la méthode
computeTriangleArea
et observez comment vous devez l’appeler par rapport à la méthodecomputeArea
qui 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)); } }