Una classe per l’ente geometrico cerchio
public class Cerchio { private double raggio; public void raggio(double Raggio) { raggio=Raggio; } public double diametro() { return 2*raggio; } public double circonferenza() { return 2*Math.PI*raggio; } public double area() { return Math.PI*raggio*raggio; } }
I metodi con prefisso set/get permettono di esplicitare la modalità d’accesso
public class Cerchio { private double raggio; public void setRaggio(double Raggio) { raggio=Raggio; } public double getRaggio() { return raggio; } public double diametro() { return 2*raggio; } public double circonferenza() { return 2*Math.PI*raggio; } public double area() { return Math.PI*raggio*raggio; } }
Se gli accessi in lettura sono ripetuti si può decidere di calcolare i diversi risultati una sola volta…
public class Cerchio { private double raggio; private double diametro, circonferenza, area; public void setRaggio(double Raggio) { raggio =Raggio; diametro =2*raggio; circonferenza=2*Math.PI*raggio; area =Math.PI*raggio*raggio; } public double getDiametro() { return diametro; } public double getCirconferenza() { return circonferenza; } public double getArea() { return area; } }
La fase di input e di inizializzazione è affidata al costruttore…
public class Cerchio { private double raggio; private double diametro, circonferenza, area; public Cerchio(double Raggio) { raggio =Raggio; diametro =2*raggio; circonferenza=2*Math.PI*raggio; area =Math.PI*raggio*raggio; } ... }
… anche con l’ausilio di un metodo privato
public class Cerchio { private double raggio; private double diametro, circonferenza, area; public Cerchio(double Raggio) { raggio=Raggio; calcola(); } private void calcola() { diametro =2*raggio; circonferenza=2*Math.PI*raggio; area =Math.PI*raggio*raggio; } ... }
Se si decide di aggiungere altri attributi (x, y, colore, …) è necessario accompagnarli con i relativi costruttori e metodi di accesso
public class Cerchio { private double raggio; private double diametro, circonferenza, area; private double x, y; private long colore; public Cerchio(double Raggio) { ... } public Cerchio(double Raggio, double X, double Y) { ... } ... public long getColore() { ... } ... }