Esercizio 3 – Realizzazione di Classi (Punto – Rettangolo)
- Gennaio 15, 2010
- by
- Donatantonio
Implementare in java una classe Punto che contiene le coordinate di un punto nel piano e ha come interfaccia pubblica i metodi per leggere e modificare le coordinate.
Implementare la classe Rettangolo che utilizza un’istanza di Punto come vertice in basso a sinistra. Considerare poi un insieme di metodi che fanno uso del punto iniziale.
Creare un breve programma per testare Punto e Rettangolo.
Punto.java
/** implementare una classe punto che contiene le coordinate * di un punto nel piano */ public class Punto { int numeroX; int numeroY; // Metodo Costruttore inizializzato con due interi public Punto(int x , int y) { numeroX = x; numeroY = y; } // Metodo che restituisce il valore della coordinata X public int daiCoordinataX() { return numeroX; } // Metodo che restituisce il valore della coordinata Y public int daiCoordinataY() { return numeroY; } // Metodo che permette di impostare nuove coordinate del punto public void imposta(int a, int b) { numeroX = a; numeroY = b; } // Metodo che permette di stampare a video le coordinate del punto public void stampaPunto() { System.out.print("Le coodinate del punto sono : "); System.out.print(numeroX + " , "); System.out.println(numeroY); } }
Rettangolo.java
/** * implementare la classe rettangolo che usa un'istanza di Punto * come vertice in basso a sinistra invece delle due coordinate */ public class Rettangolo { int numX; int numY; int lunghezza; int altezza; // Metodo Costruttore // Inizializzato con lunghezza, altezza e Punto p come vertice in basso a Sx public Rettangolo(Punto p, int l, int h) { this.numX = p.daiCoordinataX(); this.numY = p.daiCoordinataY(); this.lunghezza = l; this.altezza = h; } // Metodo che stampa le 4 coordinate del rettangolo public void coordinateRettangolo() { System.out.println("A("+this.numX+","+this.numY+")"); System.out.println("B("+this.numX+","+(this.numY+altezza)+")"); System.out.println("C("+(this.numX+lunghezza)+","+(this.numY+altezza)+")"); System.out.println("D("+(this.numX+lunghezza)+","+this.numY+")"); } // Metodo che permette di spostare il rettangolo dato un nuovo Punto p public void spostaRett(Punto p) { this.numX = p.daiCoordinataX(); this.numY = p.daiCoordinataY(); } // Metodo che permette di modificare le dimensioni del rettangolo public void modificaRett(int a, int b) { this.lunghezza = a; this.altezza = b; } // Metodo che verifica lo stato dell'oggetto Rettangolo public void verifica() { System.out.print("Il rettangolo è di grandezza :"); System.out.print(lunghezza + " * "); System.out.println(altezza); System.out.println("Le coordinate di partenza sono :"); System.out.print(numX + " , "); System.out.println(numY); } }
La classe di Test. Test.java
public class Test{ public static void main(String[] args) { // creo un'istanza di Punto Punto a = new Punto(10,20); // creo un nuovo rettangolo utilizzando il punto creato prima Rettangolo prova = new Rettangolo(a,5,7); // verifico le condizioni del rettangolo appena costruito prova.coordinateRettangolo(); prova.verifica(); // effettuo delle modifiche sul rettangolo Punto newA = new Punto(20,30); prova.spostaRett(newA); prova.modificaRett(3,3); // verifico le nuove condizioni del rettangolo prova.coordinateRettangolo(); prova.verifica(); } }