Tratto da: F. Sanpietro, O. Sanpietro – Java: il linguaggio e la tecnologia – TRAMONTANA
SolidoRotazione è un’interfaccia per i solidi di rotazione sfera, cilindro, cono
public interface SolidoRotazione { public static final double PIGRECO=3.14159; public abstract double superficie(); public abstract double volume(); }
La classe Sfera implementa l’interfaccia SolidoRotazione
public class Sfera implements SolidoRotazione { private double raggio; public Sfera(double r) { raggio=r; } public double getRaggio() { return raggio; } public double superficie() { return 4.0*PIGRECO*Math.pow(raggio, 2); } public double volume() { return 4.0/3*PIGRECO*Math.pow(raggio, 3); } }
La classe Cilindro implementa l’interfaccia SolidoRotazione
public class Cilindro implements SolidoRotazione { private double raggio; private double altezza; public Cilindro(double r, double h) { raggio =r; altezza=h; } public double getRaggio() { return raggio; } public double getAltezza() { return altezza; } public double superficie() { return 2*PIGRECO*raggio*(altezza+raggio); } public double volume() { return PIGRECO*Math.pow(raggio, 2)*altezza; } }
La classe Cono implementa l’interfaccia SolidoRotazione
public class Cono implements SolidoRotazione { private double raggio; private double altezza; public Cono(double r, double h) { raggio =r; altezza=h; } public double getRaggio() { return raggio; } public double getAltezza() { return altezza; } public double superficie() { double apotema=Math.sqrt(raggio*raggio+altezza*altezza); return PIGRECO*raggio*(apotema+raggio); } public double volume() { return PIGRECO*Math.pow(raggio, 2)*altezza/3; } }