/**
 * "Un cuadrado es un rectángulo" en geometría, pero no como Rectangle con
 * setters independientes: para seguir siendo cuadrado, cada setter cambia los
 * dos lados y rompe la postcondición del supertipo.
 */
public class Square extends Rectangle {

    public Square(int side) {
        super(side, side);
    }

    @Override
    public void setWidth(int width) {
        super.setWidth(width);
        super.setHeight(width);
    }

    @Override
    public void setHeight(int height) {
        super.setWidth(height);
        super.setHeight(height);
    }
}
