Oggetti Java
Un esempio di oggetto Punto nel piano cartesiano Definito da due coordinate: x e y P y x
La classe Punto public class Punto { private double x; private double y; public double getx(){ return x; } public void setx(double x){ this.x=x; public double gety(){ return y; public void sety(double y) { this.y=y;
this this è un riferimento all’oggetto Es. this.x = x In questo caso serve per differenziare l’attributo x dell’oggetto dal parametro x del metodo
I metodi La sintassi di un metodo è la seguente: <modificatore> <tipo> <nome> <parametri>){ <corpo> }
Modificatore Definisce la visibilità E altre informazioni public private protected E altre informazioni static (appartiene alla classe) final (non modificabile)
Firma (Segnatura) La firma di un metodo è composta da: Nome e lista ordinata dei tipi dei parametri Es. la firma di setx è (setx,double) La firma non comprende il tipo del metodo né i nomi dei parametri
Overloading Sovraccarico Più metodi hanno lo stesso nome ma firma diversa (numero e/o tipo di parametri)
? Gli oggetti P x y public class ProvaPunto { public static void main(String arg[]{ Punto p; p=new Punto(); System.out.print(p.getx()); } ? P x y
Inizializzazione degli attributi E’ possibile definire un valore iniziale per gli attributi public class Punto { private double x=0; private double y=0; … }
Costruttori Il costruttore è un metodo che ha lo stesso nome della classe Non ha modificatore e non ha tipo Il costruttore viene chiamato quando si istanzia un oggetto della classe Possono esistere più costruttori con firma (segnatura) diversa
Costruttori per Punto Punto() { x=0; … y=0; } Punto p,q,r; Punto(double x) { this.x=x; Punto(double x,double y) { this.y=y; … Punto p,q,r; p=new Punto(); q=new Punto(3.5); r=new Punto(5,3.2);
Metodo distanzaOrigine Restituisce la distanza del punto dall’origine degli assi cartesiani Utilizziamo i metodi della classe Math public double distanzaOrigine() { return (Math.sqrt(Math.pow(x,2)+Math.pow(y,2))); }
Metodo stampa Visualizza le coordinate del punto nella forma (x,y) public void stampa(){ String rappresent="( "; rappresent=rappresent+x; rappresent=rappresent+" , "; rappresent=rappresent+y; rappresent=rappresent+" )"; System.out.print(rappresent); }
Metodo toString Restituisce una rappresentazione dell’oggetto sotto forma di stringa public String toString() { return "( "+x+" , "+y+" )"; }
Ridefinizione del metodo stampa Avendo definito il metodo toString possiamo rivedere l’implementazione del metodo stampa public void stampa(){ System.out.print(this.toString());}
Metodo distanzaDaPunto Restituisce la distanza da un punto passato come parametro
Metodo piùVicinoOrigine Restituisce true se il metodo in esame è più vicino all’origine di un punto che riceve come parametro
Metodo quadrante Restituisce il numero del quadrante 2 1 0,0 4 3