Salve a tutti.
Se eseguo il main "ProvaTraslaCerchio"
verifico che il metodo trasla funziona correttamente.
Non riesco però a visualizzare i valori aggiornati della posizione della figura (Punto p1).
Esiste un modo per utilizzare dal main getX() e getY() della classe punto senza modificare le classi?
Spero di essere stato chiaro.
Grazie in anticipo per l'aiuto.
codice:public class ProvaTraslaCerchio { public static void main(String[] args) { Punto p1 = new Punto(-1, 3); Forma c1 = new Cerchio(p1, 4, "blu"); System.out.println(c1.toString()); System.out.print(p1.getX() + ", "); System.out.println(p1.getY()); c1.trasla(3, 2); System.out.println(c1.toString()); System.out.print(p1.getX());//visualizza -1 e non 2 come vorrei… System.out.print(p1.getY());//visualizza 3 e non 5 come vorrei… } } public class Punto { private int x, y; public Punto (int x, int y) { this.x = x; this.y = y; } public void setX (int x) { this.x = x; } public void setY (int y) { this.y = y; } public int getX() { return this.x; } public int getY (){ return this.y; } } public interface Forma { void trasla(int x, int y); } public Cerchio (Punto centro, int raggio, String colore) { this.raggio = raggio; this.centro = new Punto(centro.getX(), centro.getY()); this.colore = colore; } public void trasla(int x, int y) { this.centro.setX(this.centro.getX() + x); this.centro.setY(this.centro.getY() + y); } public String toString() { String s; s = "Cerchio: centro =(" +this.centro.getX() +"," +this.centro.getY() +"), raggio=" + this.raggio +" colore="+ this.colore; return s; } }

Rispondi quotando
...ho facilmente modificato il codice e indubbiamente funziona...ben più difficile è cercare di farmi capire perchè!!!
