"depot M213"
This commit is contained in:
66
TD3 src/boite/Boite.java
Executable file
66
TD3 src/boite/Boite.java
Executable file
@ -0,0 +1,66 @@
|
||||
package boite;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
public class Boite {
|
||||
final private int BOITEMAX = 5;
|
||||
private Color couleur;
|
||||
private Objet contenu;
|
||||
private Boite[] bContent = new Boite[15];
|
||||
private int nbB = 0;
|
||||
|
||||
|
||||
|
||||
public Boite(Color col) {
|
||||
couleur = col;
|
||||
contenu = null;
|
||||
}
|
||||
|
||||
public Boite(Color col, Objet obj) {
|
||||
couleur = col;
|
||||
contenu = obj;
|
||||
}
|
||||
|
||||
public Boite(Color col, Boite box) {
|
||||
couleur = col;
|
||||
bContent[nbB] = box;
|
||||
nbB += 1;
|
||||
}
|
||||
|
||||
public Boite(Color col, Boite box, Objet obj) {
|
||||
couleur = col;
|
||||
contenu = obj;
|
||||
bContent[nbB] = box;
|
||||
nbB += 1;
|
||||
}
|
||||
|
||||
public Color getColor() {
|
||||
return couleur;
|
||||
}
|
||||
|
||||
public Objet getObjet() {
|
||||
return contenu;
|
||||
}
|
||||
|
||||
public boolean contientObjet(Objet obj) {
|
||||
return obj == contenu;
|
||||
}
|
||||
|
||||
public boolean estVide() {
|
||||
return contenu ==null && nbB == 0;
|
||||
}
|
||||
|
||||
public void ajouteBoite(Boite B) {
|
||||
if (nbB+1 >= 5)
|
||||
throw new RuntimeException("Maximum déjà atteint");
|
||||
bContent[nbB] = B;
|
||||
nbB += 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
38
TD3 src/boite/Objet.java
Executable file
38
TD3 src/boite/Objet.java
Executable file
@ -0,0 +1,38 @@
|
||||
package boite;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class Objet {
|
||||
Color couleur;
|
||||
|
||||
public Objet() {
|
||||
couleur = Color.white;
|
||||
}
|
||||
|
||||
public Objet(Color c) {
|
||||
couleur = c;
|
||||
}
|
||||
|
||||
public void changeCouleur(Color c) {
|
||||
if (!couleur.equals(c))
|
||||
couleur = c;
|
||||
else
|
||||
System.out.println("L'objet est déjà de couleur "+c);
|
||||
}
|
||||
|
||||
public void changeCouleur2(Color c) {
|
||||
if (couleur.equals(c))
|
||||
throw new RuntimeException("Même couleur");
|
||||
couleur = c;
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
Objet currentO = (Objet) o;
|
||||
return (currentO.couleur.equals(couleur));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Objet "+couleur;
|
||||
}
|
||||
|
||||
}
|
23
TD3 src/boite/testBoite.java
Executable file
23
TD3 src/boite/testBoite.java
Executable file
@ -0,0 +1,23 @@
|
||||
package boite;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
public class testBoite {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Boite b1 = new Boite(Color.green);
|
||||
Boite b2 = new Boite(Color.green, new Objet(Color.red));
|
||||
Boite b3 = new Boite(Color.green, new Boite(Color.blue));
|
||||
Boite b4 = new Boite(Color.green, new Boite(Color.blue));
|
||||
b4.ajouteBoite(new Boite(Color.yellow));
|
||||
Boite b5 = new Boite(Color.green, new Objet(Color.red));
|
||||
b5.ajouteBoite(new Boite(Color.blue));
|
||||
try {
|
||||
b2.getObjet().changeCouleur2(Color.red);
|
||||
} catch(RuntimeException e) {
|
||||
e.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user