febrero 09, 2012

Calculo de Áreas usando POO

Usando Programación Orientada a Objetos realizaremos 4 programas que realicen el calculo de área de 4 figuras geométricas, cada programa realizara el calculo de área de una figura diferente, cada programa constara de una clase con sus métodos para poder usarlos en el calculo del área, y un main.

La clase Cuadrado.
//Archivo: Cuadrado.java

public class Cuadrado{
    
    double lado;
    
    Cuadrado(){
        
    }
    
    public void setLado(double l){
        lado=l;
    }
    
    public double gedLado(){
        return lado;
    }
    
    public double calcularArea(){
        return l*l;
    }
}
En esta clase solo declaramos un atributo, porque es el unico que necesitamos para calcular el area de esta figura. Declaramos el constructor por deafult, de claramos el metodo setLado() para establecer la longitud del lado del cuadrado, getLado() lo establecemos para que nos retorne el valor del lado y calcularArea() es el metodo que realizara la operacion matematica para obtener el area del cuadrado con las medidas establecidas, y este método retornara el resultado del calculo al programa principal.

Main para la clase Cuadrado.
//Archivo: EjemploCuadrado.java

import javax.swing.JOptionPane;

public class EjemploCuadrado{
    
    public static void main(String args[]){
        
        JOptionPane.showMessageDialog(null, "Bienbenido al calculador de\narea para un Cuadrado");
        
        double tamaño=Double.parseDouble(JOptionPane.showInputDialog("Tamaño del lado del cuadrado:"));
        
        Cuadrado cuadrado1 = new Cuadrado();
        cuadrado1.setLado(tamaño);
        
        System.out.println("Usted ha introducido: "+cuadrado1.gedLado()+"\ncomo tamaño del lado del cuadrado\n");
        
        System.out.println("El area del cuadrado es:\n"+cuadrado1.calcularArea());
    }
}
Pediremos la medida del lado del cuadrado y lo guardaremos en double tamaño. En la linea 13 creamos nuestro objeto cuadrado1 de la clase Cuadrado. En la linea 14 asignamos la longitud del lado del cuadrado para nuestra variable double lado en la clase Cuadrado, esto lo hacemos mediante el método setLado() que es invocado por nuestro objeto cuadrado1 y a este método se le pasa de parámetro la variable tamaño (que es de tipo double).

En la linea 16 se imprime en pantalla el mensaje "Usted ha introducido:" concatenado con lo que retorne el método getLado() (en este caso retornara el tamaño del lado que haya introducido el usuario). Y en la linea 18 se imprime el mensaje en pantalla: "El área del cuadrado es:" concatenado con lo que retorne el método calcularArea() (que retornara el resultado del calculo del área, dependiendo del tamaño del lado del cuadrado que haya introducido el usuario).

A continuación se presenta la creación de otras clases con sus respectivos main:

La clase Circulo.
//Archivo: Circulo.java

public class Circulo{
    
    double radio;
    
    Circulo(){
        
    }
    
    public void setRadio(double r){
        radio=r;
    }
    
    public double getRadio(){
        return radio;
    }
    
    public double calcularArea(){
        return 3.1416*radio*radio;
    }
}
Main para la clase Circulo.
//Archivo: EjemploCirculo.java

import javax.swing.JOptionPane;

public class EjemploCirculo{
    
    public static void main(String args[]){
        
        JOptionPane.showMessageDialog(null,"Bienvenido al calculador de area de un circulo");
        String val=JOptionPane.showInputDialog("Introduzca el radio:");
        double rad=Double.parseDouble(val);
        
        Circulo circle = new Circulo();
        circle.setRadio(rad);
        
        JOptionPane.showMessageDialog(null, "Usted ha introducido un radio de: "+circle.getRadio());
        JOptionPane.showMessageDialog(null, "El area del circulo es: "+circle.calcularArea());
    }
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

La clase Triangulo.
//Archivo: Triangulo.java

public class Triangulo{
    
    double base;
    double altura;
    
    Triangulo(){
        
    }
    
    public void setBase(double b){
        base=b;
    }
    
    public void setAltura(double a){
        altura=a;
    }
    
    public double getBase(){
        return base;
    }
    
    public double getAltura(){
        return altura;
    }
    
    public double calcularArea(){
        return base*altura/2;
    }
}
Main para la clase Triangulo.
//Archivo: EjemploTriangulo.java

import javax.swing.JOptionPane;

public class EjemploTriangulo{
    
    public static void main(String args[]){
        
        System.out.println("Bienvenido al calculador de area de un Triangulo");
        double base=Double.parseDouble(JOptionPane.showInputDialog("Introduzca la base:"));
        double altura=Double.parseDouble(JOptionPane.showInputDialog("Introduzca la altura:"));
        
        Triangulo t = new Triangulo();
        t.setBase(base);
        t.setAltura(altura);
        
        System.out.println("Usted ha introducido datos de un triangulo de altura: "+t.getAltura()+" y de base: "+t.getBase());
        System.out.println("El area del triangulo es: "+t.calcularArea());
    }
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

La clase Trapecio.
//Archivo: Trapecio.java

public class Trapecio{
    
    double bmayor;
    double bmenor;
    double altura;
    
    Trapecio(double a, double b, double c){
        bmayor=a;
        bmenor=b;
        altura=c;
    }
    
    Trapecio(){
        
    }
    
    public void setBmayor(double a){
        bmayor=a;
    }
    
    public void setBmenor(double b){
        bmenor=b;
    }
    
    public void setAltura(double c){
        altura=c;
    }
    
    public double getBmayor(){
        return bmayor;
    }
    
    public double getBmenor(){
        return bmenor;
    }
    
    public double getAltura(){
        return altura;
    }
    
    public double calcularArea(){
        return ((bmayor+bmenor)*altura)/2;
    }
}
Main para la clase Trapecio.
//Archivo: EjemploTrapecio.java

import javax.swing.JOptionPane;

public class EjemploTrapecio{
    
    public static void main(String args[]){
        
        Trapecio t1 = new Trapecio();
        t1.setBmayor(Double.parseDouble(JOptionPane.showInputDialog("Base Mayor")));
 t1.setBmenor(Double.parseDouble(JOptionPane.showInputDialog("Base Menor")));
 t1.setAltura(Double.parseDouble(JOptionPane.showInputDialog("Altura")));
 System.out.println("La base mayor de Trapecio t1 es: "+t1.getBmayor());
 System.out.println("La base menor de Trapecio t1 es: "+t1.getBmenor());
 System.out.println("La altura de Trapecio t1 es: "+t1.getAltura());
 System.out.println("El area del Trapecio t1 es: "+t1.calcularArea());
    }
}

2 comentarios:

  1. amigos confabulados quiero saber como extraer una imagen

    ResponderBorrar
  2. hay alguna forma de usar una sola clase para realizar el calculo de todas las figuras

    ResponderBorrar