Simple Java Template
clementestrade
12.9K views
Diagramme de classe UML
Voici le diagramme de classe que nous allons implémenter :
Première étape.
Premièrement on crée la classe abstraite forme.
interface Forme {
void dessiner();
}
Deuxieme étape
On crée ensuite la classe cercle où on définit les paramètres ansi que les setters :
class Cercle implements Forme {
private String couleur;
private int x;
private int y;
private int rayon;
//Constructeur du cercle
public Cercle(String couleur){
this.couleur = couleur;
}
// X et Y sont les coordonnées du centre du cercle
//Setter de X
public void setX(int x) {
this.x = x;
}
//Setter de Y
public void setY(int y) {
this.y = y;
}
//Setter du rayon
public void setRayon(int rayon) {
this.rayon = rayon;
}
//Methode de l'affichage du cercle
public void dessiner() {
System.out.println("Cercle: Dessiner() [Couleur : " + this.couleur + ", x : " + this.x + ", y :" + this.y + ", Rayon :" + this.rayon);
}
}
Troisième étape
On crée ensuite la class FormeFactory qui permet de stocker dans une map les cercles crées et de récuperer de cette même map un cercle déjà existant :
import java.util.HashMap;
class FormeFactory {
private static final HashMap<String, Forme> mapCercles = new HashMap();
//Methode permettant la création de nouveaux cercles
public static Forme getCercle(String couleur) {
//On récupère le cercle s'il est présent dans la map
Cercle cercle = (Cercle)mapCercles.get(couleur);
//Dans le cas contraire on fait une nouvelle instance de Cercle
if(cercle == null) {
cercle = new Cercle(couleur);
mapCercles.put(couleur, cercle);
System.out.println("Création d'un cercle de couleur : " + couleur);
}
return cercle;
}
}
Quatrième étape
On implémente ensuite le main afin de créer 20 cercles de couleurs et dimensions aléatoires :
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
// {
import java.util.HashMap;
interface Forme {
void dessiner();
}
class Cercle implements Forme {
private String couleur;
private int x;
private int y;
private int rayon;
//Constructeur du cercle
public Cercle(String couleur){
this.couleur = couleur;
}
// X et Y sont les coordonnées du centre du cercle
//Setter de X
public void setX(int x) {
this.x = x;
}
//Setter de Y
public void setY(int y) {
this.y = y;
}
//Setter du rayon
public void setRayon(int rayon) {
this.rayon = rayon;
}
//Methode de l'affichage du cercle
public void dessiner() {
System.out.println("Cercle: Dessiner() [Couleur : " + this.couleur + ", x : " + this.x + ", y :" + this.y + ", Rayon :" + this.rayon);
}
}
class FormeFactory {
private static final HashMap<String, Forme> mapCercles = new HashMap();
//Methode permettant la création de nouveaux cercles
public static Forme getCercle(String couleur) {
//On récupère le cercle s'il est présent dans la map
Cercle cercle = (Cercle)mapCercles.get(couleur);
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Suggested playgrounds