Oggetti Java Un esempio di oggetto Punto nel

  • Slides: 19
Download presentation
Oggetti Java

Oggetti Java

Un esempio di oggetto • Punto nel piano cartesiano • Definito da due coordinate:

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

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 •

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>

I metodi • La sintassi di un metodo è la seguente: <modificatore> <tipo> <nome> <parametri>){ <corpo> }

Modificatore • Definisce la visibilità – public – private – protected • E altre

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

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

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;

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

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

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

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 •

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

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

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

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 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

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

Metodo quadrante • Restituisce il numero del quadrante 2 1 0, 0 3 4