package shape;

public class Circle extends AbstractShape {

	private double radius;

	public Circle(double radius, Point center) {
		super(center);
		this.radius = radius;
	}

	public Circle(double radius) {
		this(radius, new Point(0, 0));
	}

	public Circle() {
		this(1.0);
	}

	public double getRadius() {
		return this.radius;
	}

	public void setRadius(double radius) {
		this.radius = radius;
	}

	@Override
	public double area() {
		double radius = getRadius();
		return Math.PI * radius * radius;
	}

	@Override
	public boolean equals(Object obj) {
		return obj instanceof Circle
				&& this.getCenter().equals(((Circle) obj).getCenter())
				&& this.getRadius() == ((Circle) obj).getRadius();
	}

	@Override
	public String toString() {
		return "cercle de centre de gravité " + this.getCenter()
				+ " et de rayon " + this.getRadius();
	}
}
