Objectif de l’exercice 5

  • Implémenter une méthode static
  • Observer les différences entre méthode static ou non static

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 un main) 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 classe TriangleTester. Cette méthode est statique. Remarquez comment dans ce cas on reçoit un argument de type Triangle 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éthode computeArea qui se trouve dans la classe Triangle
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));
	}

}