/** Rappresenta un rettangolo nel piano cartesiano */ public class Rettangolo implements Figura { protected Punto bassoSx; protected double b, h; /** Costruttori */ public Rettangolo ( Punto p, double b, double h ) { bassoSx = p; this.b = b; this.h = h; } /** Implementazione dei metodi previsti da Figura */ public double area() { return b*h; } public boolean appartiene( Punto p ) { double dx = p.getX() - bassoSx.getX(); double dy = p.getY() - bassoSx.getY(); return ( 0 <= dx && dx <= b && 0 <= dy && dy <= h ); } /** Altri metodi */ public boolean isQuadrato() { return b == h; } public String toString() { return "Rettangolo: " + bassoSx + " base = " + b + " altezza " + h; } public int hashCode() { return 0; } public boolean equals( Object o ) { if ( o instanceof Rettangolo ) { Rettangolo r = (Rettangolo) o; return ( bassoSx.equals( r.bassoSx ) && b==r.b && h==r.h ); } return false; } }