|
NetBeans: Interfaces Java cálculo área triángulo, cuadrado, rectángulo y círculo en 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 JavaUna 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 NetBeansEn 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": Seleccionaremos "Java" en la izquierda y en la derecha seleccionaremos "Java Application", pulsaremos "Siguiente": 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": El asistente de NetBeans nos creará los ficheros necesarios para nuestro nuevo proyecto:
Crear clases Java en NetBeansClase interfaz FiguraGeometricaEn 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": Introduciremos el nombre para la clase interfaz, por ejemplo "FiguraGeometrica", pulsaremos en "Terminar": El asistente para crear una nueva java interface nos creará el fichero .java correspondiente, añadiremos el siguiente código:
/* * 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 FiguraGeometricaLa 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": Introduciremos el nombre de la clase, por ejemplo Circulo y pulsaremos "Terminar": El código fuente Java de la clase Circulo será el siguiente: Si analizamos un poco el código de la clase veremos lo siguiente:
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, TrianguloEl 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 */ 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 */ 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 */ 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 anterioresTras 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:
/* * 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:
La instanciación sería:
La referenciación sería:
La instanciación y referenciación de clases puede hacerse en la misma línea con:
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":
Y con el método accesor (getter) correspondiente obtendremos el valor del área calculada:
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):
Código fuente completo de la aplicación AjpdSoft Cálculo área figuras geométricas JavaA 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éditosArtículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft. Anuncios
Enviado el Martes, 20 enero a las 21:25:37 por ajpdsoft
|
|