Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Proponer
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English

NetBeans: Interfaces Java cálculo área triángulo, cuadrado, rectángulo y círculo en Java
Java


Las interfaces en Java. Mostramos una aplicación de ejemplo completa en Java que calcula el área de figuras geométricas: triángulo, rectángulo, cuadrado y círculo. Tutorial donde explicamos qué son las interfaces en Java (y en POO Programación Orientada a Objetos). Para ello empleamos Java como lenguaje de programación y NetBeans como IDE de desarrollo. Explicamos cómo crear la aplicación paso a paso y con el código fuente completo. Usaremos una interfaz de ejemplo y explicaremos qué son las clases interfaces y cómo usarlas.



Enunciado del ejemplo de interfaces en Java y Programación Orientada a Objetos (POO)

A partir de la interfaz:

interface FiguraGeometrica 
{
  void area();
}

Desarrollaremos una aplicación Java que deberá usar la interfaz anterior y crear una clase por cada figura geométrica de la que calculará el área: cuadrado, círculo, rectángulo y triángulo. Se definirán los atributos necesarios para poder implementar la interfaz dada en cada clase, también los métodos constructores y accesores (setters y getters) necesarios.

 

Un poco de teoría: las interfaces en Java

Una interfaz (interface) en Java es una colección de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Un interface es una clase especial que sólo contiene declaraciones de métodos (pero no sus cuerpos) y constantes. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos. La principal diferencia entre interface y abstract es que un interface proporciona un mecanismo de encapsulación de los protocolos de los métodos sin forzar al usuario a utilizar la herencia.

Una clase que implemente un interface debe tener todas las constantes del interface y, lo más importante, debe de proporcionar un cuerpo a todos los métodos declarados en el interface.

Un interface, por tanto, define un rol o comportamiento, una forma de usar una clase, ya que todas las clases que implementen un interface tienen que tener los métodos del interface.

Para declarar una clase interfaz emplearemos "interface", por ejemplo:


interface Nombre_Clase 
{
      void metodo1 ();
      void metodo2 ();
}
  

Para usar la interfaz definida emplearemos "implements":

 public class Nombre_Clase2 implements Nombre_Clase 
 {
        public void metodo1 () 
        {
            ....
        }
 
        public void metodo2() 
        {
            ....
        }
 
        ...
  }

 

Crear aplicación Java en el IDE NetBeans

En primer lugar necesitaremos disponer del IDE de desarrollo NetBeans, a continuación mostramos un tutorial donde explicamos paso a paso cómo descargarlo e instalarlo:

Una vez instalado, para crear una nueva aplicación Java abriremos NetBeans y pulsaremos en el menú "Archivo" - "Proyecto Nuevo":

Crear aplicación Java en el IDE NetBeans

Seleccionaremos "Java" en la izquierda y en la derecha seleccionaremos "Java Application", pulsaremos "Siguiente":

Crear aplicación Java en el IDE NetBeans

Introduciremos el nombre para el proyecto en Project Name, por ejemplo "Geometria", la ubicación (en Project Location) y marcaremos "Create Main Class" con el nombre "geometria.Geometria", pulsaremos en "Terminar":

Crear aplicación Java en el IDE NetBeans

El asistente de NetBeans nos creará los ficheros necesarios para nuestro nuevo proyecto:

Crear aplicación Java en el IDE NetBeans

 

Crear clases Java en NetBeans

Clase interfaz FiguraGeometrica

En el enunciado de este ejemplo indicamos que tendremos una clase interfaz, para crearla en NetBeans pulsaremos con el botón derecho del ratón sobre el paquete generado al crear el proyecto y en el menú emergente seleccionaremos "Nuevo" - "Java Interface":

Clase interfaz FiguraGeometrica

Introduciremos el nombre para la clase interfaz, por ejemplo "FiguraGeometrica", pulsaremos en "Terminar":

Clase interfaz FiguraGeometrica

El asistente para crear una nueva java interface nos creará el fichero .java correspondiente, añadiremos el siguiente código:

Clase interfaz FiguraGeometrica

/*
 * AjpdSoft Cálculo Áreas.
 * Interfaz FiguraGeometrica.
 */

package geometria;
/**
 * @author www.ajpdsoft.com
 */

public interface FiguraGeometrica 
{
    void area();    
}

Agregar clase Circulo con NetBeans que implementará la clase interfaz FiguraGeometrica

La clase círculo calculará el área de un círculo, como atributos tendrá el radio, el valor de pi y el área del radio. Dicha clase implementará la interfaz FiguraGeometrica por lo que habremos de definir obligatoriamente el método "area". Para agregar esta clase en NetBeans pulsaremos con el botón derecho sobre el paquete de nuestra aplicación Java y en el menú emergente seleccionaremos "Nuevo" - "Java Class":

Clase Circulo

Introduciremos el nombre de la clase, por ejemplo Circulo y pulsaremos "Terminar":

Clase Circulo

El código fuente Java de la clase Circulo será el siguiente:

Clase Circulo

Si analizamos un poco el código de la clase veremos lo siguiente:

  • En la declaración de clase public class Circulo implements FiguraGeometrica con implements estamos indicando que la clase Circulo implementará la interfaz FiguraGeometrica. Por lo tanto deberemos añadir todos los métodos de esta interfaz y desarrollarlos con su código correspondiente, en este ejemplo solo el método "area".
  • Declaramos los atributos necesarios. radio, areaRadio y pi.
  • Añadiremos el método constructor de clase: public Circulo(double radio).
  • Añadimos los getters necesarios (los que devolverán el valor de los atributos), por ejemplo getRadio y getAreaRadio.
  • Añadiremos los setters necesarios (los que servirán para añadir el valor de los atributos para el cálculo del área), por ejemplo setRadio.
  • Añadiremos el método area pues estamos obligados por la implementación de la interfaz FiguraGeometrica, en este método realizaremos el cálculo del área.

El código fuente Java completo de la clase "Circulo":

/*
 * AjpdSoft Cálculo Áreas.
 * Clase Circulo.
 */

package geometria;
/**
 *
 * @author www.ajpdsoft.com
 */

public class Circulo implements FiguraGeometrica 
{
    private double radio;
    private double areaRadio;
    static final double pi = 3.1415;

    public Circulo(double radio) 
    {
        this.radio = radio;
    }

    public double getRadio() 
    {
        return radio;
    }

    public void setRadio(double radio) 
    {
        this.radio = radio;
    }

    public double getAreaRadio() 
    {
        return areaRadio;
    }

    @Override
    public void area() 
    {
        areaRadio = pi * radio * radio;
    }    
}

Añadir resto de las clases Cuadrado, Rectangulo, Triangulo

El resto de las clases para calcular el área de un cuadrado, rectángulo y triángulo las añadiremos exactamente de la misma forma que la clase Circulo, cambiando lógicamente el método "area" con el cálculo correspondiente de cada figura geométrica. A continuación mostramos el código de cada clase:

  • Rectangulo (Rectangulo.java):
/*
 * Rectangulo
 */
package geometria;

/**
 * @author www.ajpdsoft.com
 */
public class Rectangulo implements FiguraGeometrica
{
    private double base;
    private double altura;
    private double areaRectangulo;

    public Rectangulo(double base, double altura) 
    {
        this.base = base;
        this.altura = altura;
    }

    public double getBase() 
    {
        return base;
    }

    public void setBase(double base)
    {
        this.base = base;
    }

    public double getAltura() 
    {
        return altura;
    }

    public void setAltura(double altura) 
    {
        this.altura = altura;
    }

    public double getAreaRectangulo() 
    {
        return areaRectangulo;
    }

    @Override
    public void area() 
    {
        areaRectangulo = base * altura;
    }
}

  • Triangulo (Triangulo.java):
/*
 * Triangulo
 */
package geometria;

/**
 * @author www.ajpdsoft.com
 */
public class Triangulo implements FiguraGeometrica
{
    private double base;
    private double altura;
    private double areaTriangulo;
    

    public Triangulo(double base, double altura) 
    {
        this.base = base;
        this.altura = altura;
    }

    public double getBase() 
    {
        return base;
    }

    public void setBase(double base)
    {
        this.base = base;
    }

    public double getAltura() 
    {
        return altura;
    }

    public void setAltura(double altura) 
    {
        this.altura = altura;
    }

    public double getareaTriangulo() 
    {
        return areaTriangulo;
    }

    @Override
    public void area() 
    {
        areaTriangulo = base * altura / 2;
    }    
    
}

  • Cuadrado (Cuadrado.java):

/*
 * Cuadrado
 */
package geometria;

/**
 * @author www.ajpdsoft.com
 */
public class Cuadrado implements FiguraGeometrica
{
    private double lado;
    private double areaCuadrado;

    public Cuadrado(double lado) 
    {
        this.lado = lado;
    }
    
    public double getLado() 
    {
        return lado;
    }

    public void setLado(double lado) 
    {
        this.lado = lado;
    }

    public double getareaCuadrado() 
    {
        return areaCuadrado;
    }    
    
    @Override
    public void area() 
    {
        areaCuadrado = lado * lado;
    }    
}

Probar clases en Java, calculando el área de un rectángulo, triángulo, cuadrado y círculo usando las clases anteriores

Tras crear la interfaz FiguraGeometrica y las clases que la implementan: Circulo, Triangulo, Rectangulo, Cuadrado. Desde la clase principal de la aplicación Geometria, instanciaremos las clases anteriores para comprobar que funcionan correctamente, para ello añadiremos el siguiente código java en Geometria.java:

Probar clases en Java, calculando el área de un rectángulo, triángulo, cuadrado y círculo usando las clases anteriores

/*
 * Geometría
 */
package geometria;

/**
 *
 * @author www.ajpdsoft.com
 */
public class Geometria 
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        //probar clases cálculo áreas figuras geométricas        
        Cuadrado cuadrado = new Cuadrado(10);
        cuadrado.area();
        System.out.println("Área del cuadrado de lado 10: " + 
                cuadrado.getareaCuadrado());
        
        Circulo circulo = new Circulo(200);
        circulo.area();
        System.out.println("Área del círculo de radio 200: " + 
                circulo.getAreaRadio());
        
        Rectangulo rectangulo = new Rectangulo(100, 20);
        rectangulo.area();
        System.out.println("Área del rectángulo de base 100 y altura 20: " + 
                rectangulo.getAreaRectangulo());

        Triangulo triangulo = new Triangulo(5, 10);
        triangulo.area();
        System.out.println("Área del triángulo de base 5 y altura 10: " + 
                triangulo.getareaTriangulo());        
    }    
}

Analizando un poco el código Java anterior, básicamente instanciamos y referenciamos cada clase con:

Cuadrado cuadrado = new Cuadrado(10);

La instanciación sería:

Cuadrado cuadrado;

La referenciación sería:

cuadrado = new Cuadrado (10);

La instanciación y referenciación de clases puede hacerse en la misma línea con:

Cuadrado cuadrado = new Cuadrado(10);

Puesto que le hemos pasado el valor "10" al constructor de la clase "Cuadrado", para calcular el área del cuadrado de lado 10 será suficiente con ejecutar el método "area":

cuadrado.area();

Y con el método accesor (getter) correspondiente obtendremos el valor del área calculada:

cuadrado.getareaCuadrado();

Básicamente repetimos la instanciación y referenciación para el resto de clases y mostramos el resultado por pantalla.

Para comprobar que la aplicación Java funciona y compilarla pulsaremos en el botón "Ejecutar" (tecla rápida F6):

Probar clases en Java, calculando el área de un rectángulo, triángulo, cuadrado y círculo usando las clases anteriores

 

Código fuente completo de la aplicación AjpdSoft Cálculo área figuras geométricas Java

A continuación mostramos enlace a la descarga completamente gratuita del código fuente en Java con NetBeans del ejemplo del tutorial:

 

Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.

Artículo en inglés.


Anuncios


Enviado el Martes, 20 enero a las 21:25:37 por ajpdsoft
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+