Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2014, 09:39
fernando143
 
Fecha de Ingreso: julio-2014
Ubicación: Chaco-Argentina
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta calcular volumen de cilindro hueco mediante interface y herencia

Hola, estoy aprendiendo a programar en java, uso net beans.

Me dieron un ejercicio en donde tengo que calcular el volumen de un cilindro hueco.
La clase hija se llama TCilindroHueco y la clase padre TCilindro.

Ya terminé el código, pero me queda la duda de si está bien o no, es decir, si está calculando bien, y si el procedimiento de llamar a metodos es el correcto.
No es que sea perezoso para revisa el código, de hecho, ya lo revisé varias veces y no hay errores sintácticos, lo que me preocupa es la forma en que he llamado los métodos, es decir, no se si lo hice de la forma correcta desde el punto de vista de POO, además no sé si mi codigo está calculando bien el volumen.

Les dejo mi código:

Código:
*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import javax.swing.JOptionPane;
/**
 *
 * @author fernando
 */
//*****************************************************************************
interface TCirculo
{
  void cargar_datosC(float r1);
  float ver_areaC();
  float ver_perimetroC();
}
//*****************************************************************************
interface TRectangulo
{
  float ver_areaRect();
  void cargar_datosRect(float l1, float l2);
}
//*****************************************************************************

//*****************************************************************************
  class TCilindro implements TCirculo, TRectangulo 
   {
     protected float radio, lado1,lado2, area;
     public void cargar_datos(float r, float lado1)
     {
     cargar_datosC(r);
     cargar_datosRect(lado1, ver_perimetroC());
     }
     public float ver_area()
     {
     area= ver_areaC() * 2 + ver_areaRect();
     return area;
     }
     /*************************************************************************/
     public void cargar_datosC(float r1) {
     radio = r1;
     }
     public float ver_areaC() {
     return (float) (Math.PI * Math.pow(radio, 2));
     }
     public float ver_perimetroC() 
     {
     return (float) (Math.PI * 2 * radio);
     }
     /*************************************************************************/
     public void cargar_datosRect(float l1, float l2) {
     lado1= l1;
     lado2= l2;
     }
     public float ver_areaRect() {
     return lado1 * lado2;
     }
     
   }
//*****************************************************************************
//*****************************************************************************
                   class TCilindroHueco extends TCilindro
                   {
                   
                      private float  volCil, radio1, perimetro1minCH, perimetro2maxCH;
                                                   
                     //*************INICIO PERIMETRO 1 Y 2**********************
                      public void cargar_Radio1(float rad1)                    
                        {radio1=rad1;
                        }
                      public float ver_Radio1()
                        {return radio1;
                        }
                      
                      public void calcular_perimetro1minCH()
                        {perimetro1minCH= (float)(2*Math.PI*radio1);
                        }
                      public float ver_perimetro1CH()
                        {return perimetro1minCH;
                        }
                      
                      public void calcular_perimetro2maxCH()
                        {perimetro2maxCH= (float) (Math.PI * 2 * radio);
                        }
                       public float ver_perimetro2CH()
                        {return perimetro2maxCH;
                        }
                        //***********FIN PERIMETRO 1 Y 2************************                      
                       
                     //VOLUMEN CILINDRO HUECO
                       public void cargar_datosC(float r1) {
                       radio = r1;
                         }
                       public void cargar_datosRect(float l1, float l2)
                       {lado1= l1;
                        lado2= l2;
                       }
                       public void calcular_volCilindro()
                       {volCil=(ver_areaRect()-ver_areaC())*lado2;
                       }
                       public float ver_volCilindro()
                       {return volCil;
                       }
                       
                   }
//*****************************************************************************
          public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        TCilindroHueco Perimetro = new TCilindroHueco();
float rad1, rad2;
rad1= Float.parseFloat(JOptionPane.showInputDialog("Ingrese el radio1 de la base del cilindro hueco"));
rad2= Float.parseFloat(JOptionPane.showInputDialog("Ingrese el radio2 de la base del cilindro hueco"));


Perimetro.cargar_Radio1(rad1);
Perimetro.cargar_datosC(rad2);
Perimetro.calcular_perimetro1minCH();
Perimetro.calcular_perimetro2maxCH();

TCilindroHueco Volumen=new TCilindroHueco();
Volumen.cargar_datosC(rad1);
Volumen.cargar_datosRect(11, 12);
Volumen.calcular_volCilindro();
Volumen.ver_volCilindro();


JOptionPane.showMessageDialog(null,"Cilindro Hueco\nPerimetro      1: "+Perimetro.ver_perimetro1CH()+"\nPerimetro      2: "+Perimetro.ver_perimetro2CH()+"\nVolumen  total: "+Volumen.ver_volCilindro());



    }
    
}

Saludos y muchas gracias desde yá