[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

7.3
  Calcul de surfaces - Enoncé
Niveau 1
 
 
But:
  Modifier un petit programme calculant des surfaces    
Thème:
  POO de base    
Fichiers:
  Surfaces.java    

Le fichier Surfaces.java contient les déclarations de trois classes: Surfaces, Terrain et Rectangle.

Attention: si vous avez fait le premier exercice, un classe Rectangle a déjà été créée dans le projet de cette série. Pour éviter les incompatibilités, renommez là.

Code donné:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* Dans ce programme, les 2 réctangles sont encapsulés dans un objet
 * de type Terrain qui s'occupe de calculer et d'afficher la surface
 * totale. Le mot-clé private a été utilisé le plus possible dans
 * toutes les classes. La classe Rectangle met aussi à disposition des
 * méthodes get et set pour ses variables (il s'agit d'un service que
 * le programmeur de la classe peut offrir à ses utilisateurs s'il le
 * juge utile).
 */

class Surfaces {

    public static void main(String[] args) {
        // Construction d'un terrain:
        Terrain t = new Terrain(1.0, 2.0, 3.0, 4.0);
        t.afficherSurfaceTotale();
    }

}

class Terrain {

    private Rectangle r1;
    private Rectangle r2;

    public Terrain(double l1, double h1, double l2, double h2) {
        // Construction des 2 rectangles définissant le terrain:
        r1 = new Rectangle(l1, h1);
        r2 = new Rectangle(l2, h2);
    }

    private double calculerSurfaceTotale() {
        return r1.calculerSurface() + r2.calculerSurface();
    }

    public void afficherSurfaceTotale() {
        double surfaceTotale = calculerSurfaceTotale();
        System.out.println("La surface totale est " + surfaceTotale);
    }
}

class Rectangle {

    private double largeur;
    private double hauteur;

    public Rectangle(double largeur, double hauteur) {
        this.largeur = largeur;
        this.hauteur = hauteur;
    }

    public void setLargeur(double largeur) {
        this.largeur = largeur;
    }

    public double getLargeur() {
        return largeur;
    }

    public void setHauteur(double hauteur) {
        this.hauteur = hauteur;
    }

    public double getHauteur() {
        return hauteur;
    }

    public double calculerSurface() {
        return (largeur * hauteur);
    }
}

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]