/** Rappresenta un cerchio nel piano cartesiano */ public class Cerchio implements Figura { private Punto centro; private double r; /** Costruttori */ public Cerchio ( Punto centro, double r ) { this.centro = centro; this.r = r; } /** Implementazione dei metodi previsti da Figura */ public double area() { return r*r*Math.PI; } public boolean appartiene( Punto p ) { double dx = p.getX() - centro.getX(); double dy = p.getY() - centro.getY(); return ( Math.sqrt( dx*dx+dy*dy ) <= r ); } /** Altri metodi */ public String toString() { return "Cerchio: " + centro + " raggio = " + r; } public int hashCode() { return 0; } public boolean equals( Object o ) { if ( o instanceof Cerchio ) { Cerchio c = (Cerchio) o; return ( centro.equals( c.centro ) && r==c.r ); } return false; } }