// La declaración de la clase Punto representa un par de coordenadas x-y. public class Punto3 { private int x; // parte x de un par de coordenadas private int y; // parte y de un par de coordenadas // constructor sin argumentos public Punto3() { // la llamada implícita al constructor de Object ocurre aquí } // constructor public Punto3( int valorX, int valorY ) { // la llamada implícita al constructor de Object ocurre aquí x = valorX; // no hay necesidad de validación y = valorY; // no hay necesidad de validación } // establecer x en el par de coordenadas public void establecerX( int valorX ) { x = valorX; // no hay necesidad de validación } // devolver x del par de coordenadas public int obtenerX() { return x; } // establecer y en el par de coordenadas public void establecerY( int valorY ) { y = valorY; // no hay necesidad de validación } // devolver y del par de coordenadas public int obtenerY() { return y; } // devolver la representación String del objeto Punto3 public String toString() { return "[" + obtenerX() + ", " + obtenerY() + "]" ; } } // fin de la clase Punto3 |
// La clase Circulo4 hereda de Punto3 y accede a las variables x e y // de Punto 3 mediante los métodos public de Punto3. public class Circulo4 extends Punto3 { private double radio; // El radio de Circulo4 // constructor sin argumentos public Circulo4() { // La llamada implícita al constructor de Punto3 ocurre aquí } // constructor public Circulo4( int valorX, int valorY, double valorRadio ) { super ( valorX, valorY ); // llamar explícitamente al constructor de Punto3 establecerRadio( valorRadio ); } // establecer el radio public void establecerRadio( double valorRadio ) { radio = ( valorRadio < 0.0 ? 0.0 : valorRadio ); } // devolver el radio public double obtenerRadio() { return radio; } // calcular y devolver el diámetro public double obtenerDiametro() { return 2 * obtenerRadio(); } // calcular y devolver la circunferencia public double obtenerCircunferencia() { return Math.PI * obtenerDiametro(); } // calcular y devolver el área public double obtenerArea() { return Math.PI * obtenerRadio() * obtenerRadio(); } // devolver la representación String del objeto Circulo4 public String toString() { return "Centro = " + super .toString() + "; Radio = " + obtenerRadio(); } } // fin de la clase Circulo4 |
// Prueba de la clase Cilindro. import java.text.DecimalFormat; import javax.swing.JOptionPane; public class PruebaCilindro { public static void main( String[] args ) { // crear el objeto Cilindro Cilindro cilindro = new Cilindro( 12 , 23 , 2.5 , 5.7 ); // obtener las coordenadas x-y, radio y altura iniciales del Cilindro String salida = "La coordenada X es " + cilindro.obtenerX() + "\nLa coordenada Y es " + cilindro.obtenerY() + "\nEl radio es " + cilindro.obtenerRadio() + "\nLa altura es " + cilindro.obtenerAltura(); cilindro.establecerX( 35 ); // establecer la nueva coordenada x cilindro.establecerY( 20 ); // establecer la nueva coordenada y cilindro.establecerRadio( 4.25 ); // establecer el nuevo radio cilindro.establecerAltura( 10.75 ); // establecer la nueva altura // obtener la representación String del nuevo valor de cilindro salida += "\n\nLa nueva ubicación, radio y altura del cilindro son\n" + cilindro.toString(); // dar formato a los valores de punto flotante con 2 dígitos de precisión DecimalFormat dosDigitos = new DecimalFormat( "0.00" ); // obtener el diámetro del Cilindro salida += "\n\nEl diámetro es " + dosDigitos.format( cilindro.obtenerDiametro() ); // obtener la circunferencia del Cilindro salida += "\nLa circunferencia es " + dosDigitos.format( cilindro.obtenerCircunferencia() ); // obtener el área del Cilindro salida += "\nEl área es " + dosDigitos.format( cilindro.obtenerArea() ); // obtener el volumen del Cilindro salida += "\nEl volumen es " + dosDigitos.format( cilindro.obtenerVolumen() ); JOptionPane.showMessageDialog( null , salida ); // mostrar resultados System.exit( 0 ); } // fin de main } // fin de la clase PruebaCilindro |
No hay comentarios:
Publicar un comentario