/** 
 *  Un Carré est un Rectangle particulier
 *  (Carré est une specialisation de Rectangle) 
 */
public class Carré extends Rectangle {
    /* Invariant de classe : largeur = longueur >=0 */
    /**
     * crée un carré de la dimension voulue
     *
     * @param côté longueur du côté
     */
    public Carré(double côté) {
super(côté, côté);
    }
    /**
     * Rôle : change la valeur du coté du carré courant
     *
     * @param c nouvelle valeur du coté
     */
    public void changerCoté(double c) {
super.changerLargeur(c);
super.changerLongueur(c);
    }
    /**
     * Rédéfinition de changerLargeur de Rectangle pour 
     * garantir l’invariant de la classe Carré
     */
    public void changerLargeur(double l) {
this.changerCoté(l);
    }
    /**
     * Rédéfinition de changerLongueur de Rectangle pour 
     * garantir l’invariant de la classe Carré
     */
    public void changerLongueur(double L) {
this.changerCoté(L);
    }
}
nov. 09, 16 15:26 Page 1/1Carré.java
Printed by Vincent Granet
mercredi novembre 09, 2016 1/9
/** 
 * Un Cercle est une Ellipse particulière
 *  (Cercle est une spécialisation d’Ellipse)
 */
public class Cercle extends Ellipse {
    /* Invariant de classe : petitRayon = grandRayon >=0 */
    /**
     * crée un cercle de diamètre donné
     *
     * @param diamètre du cercle
     */
    public Cercle(double diamètre) {
super(diamètre, diamètre);
    }
    /**
     * Rôle : change la valeur du diamètre du Cercle courant
     *
     * @param c nouvelle valeur du diamètre
     */
    public void changerDiamètre(double d) {
super.changerPetitRayon(d);
super.changerGrandRayon(d);
    }
    /**
     * Rédéfinition de changerPetitRayon d’Ellipse pour 
     * garantir l’invariant de la classe Cercle
     */
    public void changerPetitRayon(double pa) {
this.changerDiamètre(pa);
    }
    /**
     * Rédéfinition de changerGrandRayon d’Ellipse pour 
     * garantir l’invariant de la classe Cercle
     */
    public void changerGrandRayon(double ga) {
this.changerDiamètre(ga);
    }
    /*
     * Rôle : renvoie la représentation sous forme d’une String de
     *        l’objet courant this
     */
    public String toString() {
return "Cercle (" + petitRayon + ")";
    }
}
nov. 09, 16 15:26 Page 1/1Cercle.java
Printed by Vincent Granet
2/9 mercredi novembre 09, 2016