Oggetti Java Un esempio di oggetto Punto nel








![Gli oggetti public class Prova. Punto { public static void main(String arg[]{ Punto p; Gli oggetti public class Prova. Punto { public static void main(String arg[]{ Punto p;](https://slidetodoc.com/presentation_image/590173692f89d8775c9a4d606ee28368/image-9.jpg)










- Slides: 19
Oggetti Java
Un esempio di oggetto • Punto nel piano cartesiano • Definito da due coordinate: x e y y P 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à – 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 public class Prova. Punto { 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() { x=0; y=0; } … … Punto p, q, r; Punto(double x) { this. x=x; y=0; } p=new Punto(); Punto(double x, double y) { this. x=x; this. y=y; } … q=new Punto(3. 5); r=new Punto(5, 3. 2); …
Metodo distanza. Origine • Restituisce la distanza del punto dall’origine degli assi cartesiani • Utilizziamo i metodi della classe Math public double distanza. Origine() { 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 to. String • Restituisce una rappresentazione dell’oggetto sotto forma di stringa public String to. String() { return "( "+x+" , "+y+" )"; }
Ridefinizione del metodo stampa • Avendo definito il metodo to. String possiamo rivedere l’implementazione del metodo stampa public void stampa(){ System. out. print(this. to. String()); }
Metodo distanza. Da. Punto • Restituisce la distanza da un punto passato come parametro
Metodo piùVicino. Origine • 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 3 4