Posted by : ghel domingo, 27 de abril de 2014

El Objetivo del Ejercicio - La Pesa

Este ejercicio te enseñará como crear las clases y como realizar la composición entre ellas. Recuerda que la composición significa que un elemento esta compuesto por otros elementos y luego forman un tercer elemento.
- Al crear las clases CEsfera y CCilindro, se practica el diseño y creación de clases.
- Al crear la clase CPesa, aparte de ver la creación de clases, se puede observar lo que se llama la composición de objetos.
- Al crear el formulario, también podemos observar la composición de objetos a parte de la creación y codificación de controles.
- Aunque el ejercicio puede ser solucionado de una manera mucho más sencilla, el objetivo que nos hemos planteado es solucionarlo mediante objetos y guiándonos por la figura que al inicio vemos.

Ejercicio La Pesa 

En el gimnasio Arnold, se usan pesas y a los deportistas les interesa conocer el volumen que tiene cada una de estas, las pesas tienen la forma que indica la figura, se pide hacer una aplicación que calcule el volumen de cada parte de la pesa y también de la pesa en total.



Solución de la Pesa:

Si vemos la figura podemos identificar 2 tipos de figuras, una semiesfera y otro el cilindro, por ello vamos ha crear dos clases y luego una tercera clase que será la misma pesa:






















Codificación o Implementación de Clases


/**
 * @author Angel M.T.
 * La clase CEsfera
 */
public class CEsfera {
    /*Campos*/
    private double radio;
    /*Metodos de acceso*/
    public double getRadio() {
        return radio;
    }
    public void setRadio(double radio) {
        this.radio = radio;
    }
    /*Metodos de calculo*/
    public double volumen()
    {
        double respuesta = 4.0/3.0*Math.PI*radio*radio*radio;
        return respuesta;
    }
    public double medioVolumen()
    {
        //Re utilizamos el metodo volumen y calculamos la mitad
        return volumen()/2.0;
    }
}


/**
 * @author Angel M.T.
 * LA CLASE CCilindro
 */
public class CCilindro {
    /*Campos*/
    double radio;
    double largo;
    /*Metodos de Acceso*/
    public double getRadio() {
        return radio;
    }
    public void setRadio(double radio) {
        this.radio = radio;
    }
    public double getLargo() {
        return largo;
    }
    public void setLargo(double largo) {
        this.largo = largo;
    }
    /*Metodos de Calculo*/
    public double volumen()
    {
        double respuesta = 2.0*Math.PI*radio*radio*largo;
        return respuesta;
    }
}


/**
 * @Author: Angel M.T.
 * La clase CPesa
 */
public class CPesa {
    /*Campos*/
    double radioBarra;
    double radioEsfera;
    double largoBarra;
    CCilindro oCilindro = new CCilindro();
    CEsfera oEsfera = new CEsfera();
    /*Metodos de Acceso*/
    public double getRadioBarra() {
        return radioBarra;
    }
    public void setRadioBarra(double radioBarra) {
        this.radioBarra = radioBarra;
    }
    public double getRadioEsfera() {
        return radioEsfera;
    }
    public void setRadioEsfera(double radioEsfera) {
        this.radioEsfera = radioEsfera;
    }
    public double getLargoBarra() {
        return largoBarra;
    }
    public void setLargoBarra(double largoBarra) {
        this.largoBarra = largoBarra;
    }
    /*Metodos de calculo*/
    public double volumen()
    {
        oCilindro.setLargo(largoBarra);
        oCilindro.setRadio(radioBarra);
        oEsfera.setRadio(radioEsfera);
        return oCilindro.volumen() + 2*oEsfera.medioVolumen();
    }
}


Diseño de la Interfaz (El formulario)

Al tener las clases, ya podemos darnos idea de como es nuestro formulario, este lo diseñamos y ponemos los controles con sus nombres y propiedades respectivos.


Nombre de los Controles:
  • El formulario: frmPesa
  • Los cuadros de texto: txtLargoBarra, txtRadioBarra, txtRadioEsfera
  • Los botones: btnVolumen, btnLimpiar, btnSalir
  • Las etiquetas: btnRespuesta




Código del Formulario (frmPesa)

Cuando creas el formulario deberás crear también el objeto que llamaremos oPesa, este codigo va dentro del formulario, como se indica en la siguiente figura:



Código de los Botones:
Ya con el objeto oPesa creado procedemos a la implementación de los botones como sigue:

    private void btnVolumenActionPerformed(java.awt.event.ActionEvent evt) {                                           
        oPesa.setLargoBarra(Double.parseDouble(txtLargoBarra.getText()));
        oPesa.setRadioBarra(Double.parseDouble(txtRadioBarra.getText()));
        oPesa.setRadioEsfera(Double.parseDouble(txtRadioEsfera.getText()));
        /*Mostrar los resultados*/
        lblRespuesta.setText("El volumen es:" + oPesa.volumen());
    }                                          

    private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        lblRespuesta.setText("<html><h1>*** Elementos limpiados ***</h1><html>");
    }                                          

    private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }


Leave a Reply

Subscribe to Posts | Subscribe to Comments

Bienvenido a mi Blog

ZONA DE TRABAJO

DOCUMENTOS
...............................................
Archivos Compartidos
...............................................
Elementos Gráficos
...............................................
Video y Captura de Pantalla

Angel

Contenidos Populares

About

Angel Moreano Terrazas.