package pack0201;

public class Rectangle
{
	private int haut = 0, gauche = 0,
				largeur = 0, longueur = 0;
	
	public Rectangle()
	{
		setLongueur(50);
		setLargeur (50);
	}
	
	public Rectangle (int pHaut, int pGauche, int pLongueur, int pLargeur)
	{
		setHaut (pHaut);
		setGauche (pGauche);
		setLongueur (pLongueur);
		setLargeur (pLargeur);
	}
	
	// Setters
	
	public void setHaut (int pVal)
	{
		this.haut = Math.max(0, pVal);
	}
	
	public void setGauche(int pVal)
	{
		this.gauche = Math.max(0, pVal);
	}
	
	public void setLongueur (int pVal)
	{
		this.longueur = Math.max(pVal, this.largeur);
	}
	
	public void setLargeur (int pVal)
	{
		this.largeur = Math.max(0, Math.min (pVal, this.longueur));
	}
	
	// Getters
	
	public int getHaut()
	{
		return (this.haut);
	}
	
	public int getGauche()
	{
		return (this.gauche);
	}
	
	public int getLongueur()
	{
		return (this.longueur);
	}
	
	public int getLargeur()
	{
		return (this.largeur);
	}
	
	// Autres méthodes
	
	public boolean isCarre ()
	{
		return(this.largeur == this.longueur);
	}
	
	public int getPerimetre()
	{
		return(2 * (this.longueur + this.largeur));
	}
	
	public int getAire()
	{
		return (this.longueur * this.largeur);
	}

	public String toString()
	{
		return("Rectangle de " + this.longueur + " sur " + this.largeur);
	}
}
