Diagramme UML
Les sources
La classe Formeimport java.awt.geom.Point2D;
abstract class Forme {
Point2D position;
void ajouterForme(Forme forme) throws Exception {
throw new Exception("Non impémenté");
}
void retirerForme(Forme forme) throws Exception {
throw new Exception("Non impémenté");
}
abstract void dessiner();
abstract float calculerVolume();
}
La classe Carre
import java.awt.geom.Point2D;
class Carre extends Forme {
int hauteur;
int largeur;
public Carre(Point2D position, int hauteur, int largeur) {
this.position = position;
this.hauteur = hauteur;
this.largeur = largeur;
}
@Override
public void dessiner() {
...
}
@Override
public float calculerVolume() {
return hauteur * largeur;
}
}
La classe Cercle
class Cercle extends Forme {
int rayon;
public Cercle(int rayon) {
this.rayon = rayon;
}
@Override
public void dessiner() {
...
}
@Override
public float calculerVolume() {
return (float)Math.PI * rayon * rayon;
}
}
La classe Groupe
import java.util.HashSet;
import java.util.Set;
class Groupe extends Forme {
private Set<forme> formes;
public Groupe() {
this.formes = new HashSet<forme>();
}
@Override
public void ajouterForme(Forme forme) {
formes.add(forme);
}
@Override
public void retirerForme(Forme forme) {
formes.remove(forme);
}
@Override
public void dessiner() {
for (Forme forme : formes) {
forme.dessiner();
}
}
@Override
public float calculerVolume() {
float volume = 0;
for (Forme forme : formes) {
volume += forme.calculerVolume();
}
return volume;
}
}
Article précis est intéressant! merci !
RépondreSupprimer