Aprende a declarar un interfaz en java utilizando el Asistente de Eclipse

Por descargarpseint / hace 5 meses / 0 Comentarios ».

Hoy quiero enseñarte a declarar un interfaz en java utilizando el potente asistente gráfico que nos proporciona el IDE Eclipse. En un capitulo previo del tutorial pudiste aprender este concepto del lenguaje y algunos otros (como herencia) que se complementan perfectamente con el. Hoy verás, paso a paso, como declarar el interfaz y seguidamente como podrías construir dos clases que lo implementen. Aquí comienzan las bases sólidas para que puedas realizar un diseño profesional, a nivel de código java,  de la calculadora.

Definiendo el interfaz en java a partir del asistente de eclipse.

En esta primera parte del artículo te voy a explicar como puedes declarar un interfaz en java utilizando las facilidades que nos ofrece Eclipse. Para ello te vas a situar sobre el paquete de interfaces, si aún no lo has creando ninguno entonces puedes ver como se hace desde aquí, y vas a pulsar el botón derecho del ratón.

Te debería haber aparecido un menú lateral similar al que puedes ver justo encima de estas líneas. Si navegas por dentro siguiendo la ruta New->Inteface y pulsas sobre el entonces eclipse te mostrará su herramienta para definir interfaces (El Wizard de Interfaces).

Al haberlo lanzado desde el paquete donde nos interesa crear el interfaz entonces el campo Package  habrá  sido rellenado con el paquete adecuado por parte del wizard.

El campo Name te servirá para que indiques el nombre que le vas a dar al interfaz. En este caso Calculadora.

Después tendrás que especificar el ámbito del interfaz seleccionando las opciones (public y default) dentro del campo Modifiers.  Aquí la opción correcta es public porque deseamos que sea accesible desde toda la aplicación y no solo por clases que pertenezcan al paquete donde estamos declarando la interfaz.

Si le das al botón Finish entonces eclipse se encargará de crear un fichero (llamado Calculadora.java) donde quedará definido el interfaz. A continuación te muestro cual sería su contenido.

package com.programarenjava.tutoriales.calculadora.interfaces;

public interface Calculadora {

}

Definiendo los métodos que declarará la Calculadora.

Llegados a este punto lo primero que voy a hacer es recordarte las operaciones que tendrá que declarar el interfaz Calculadora, después te mostraré como puedes transformarlos en métodos  y finalmente verás como podemos implementar diferentes calculadoras que implementen el interfaz que terminamos de declarar.

Numero sumar(Numero operando1, Numero operando2)

La operación sumar recibe dos parámetros (números) y tendrá que devolver la suma en otro número. Recuerda que un número puede ser entero o real y además positivo o negativo. La mejor opción aquí es utilizar la clase Number para aprovechar la herencia en java y dotar así de la máxima versatilidad a la calculadora.

El resultado te lo muestro a continuación

Number sumar(Number operando1, Number operando2);

A nivel sintáctico (construcción correcta del lenguaje) cabe destacar que al final de la declaración se deben poner dos puntos en lugar de llaves porque estamos definiendo un método abstracto.

Los modificadores de acceso los he omitido porque en java un interfaz es una clase abstracta pura y todos sus métodos son públicos y abstractos. Lo que quiere decir que la omisión sería equivalente a escribir lo siguiente:

public abstract Number sumar(Number operando1, Number operando2);

Intenta declarar el método sumar como privado y cuéntame que ocurre. A continuación te recuerdo cuales eran el resto de operaciones que debía definir la calculadora

Numero restar(Numero operando1, Numero operando2)

Numero multiplicar(Numero operando1, Numero operando2)

Numero dividir(Numero operando1, Numero operando2

Numero potencia(Numero base, Numero exponente)

Numero raizCuadrada(Numero base)

Te dejo como ejercicio la declaración del resto de métodos para que la interfaz Calculadora sirva como referencia para las implementaciones de las futuras calculadoras.

Declarando dos calculadoras a partir del Interfaz que acabas de definir.

En uno de los artículos anteriores del curso te expliqué como podías crear una clase java utilizando el asistente de eclipse. Si no lo recuerdas te recomiendo que primero revises este capítulo.

Lo que vas a hacer ahora es declarar una clase que implemente un interfaz, en nuestro caso, el interfaz Calculadora. En los siguientes pasos te explico como tienes que hacerlo. (Para el ejemplo voy a utilizar el interfaz que he definido en com.programarenjava.tutoriales.calculadora.interfaces.Calculadora)

Lo siguiente que tienes que hacer es declarar un paquete con el siguiente nombre (com.programarenjava.tutoriales.calculadora.implementaciones)

Una vez que lo hayas creado entonces te posicionarás sobre el y con el botón derecho abrirás el menú y te aparecerá el asistente de creación de clases. Una vez allí configurarás el wizard como te indico a continuación:

  • Name:CalculadoraDeIntegers
  • Modifiers:public.
  • Deseleccionar el checkboxpublic static void main()
  • Mantener seleccionado Inherited abstract methods

Finalmente queda que especifiques en el campo Interfaces que interfaz va a implementar la clase.

Para terminar pulsas en Finish y posteriormente lo haces lo mismo desde el asistente de creación de la clase. Podrás ver justo en el centro de eclipse el fichero CalculadoraDeIntegers.java con el siguiente código

package com.programarenjava.tutoriales.calculadora.implementaciones;

import com.programarenjava.tutoriales.calculadora.interfaces.Calculadora;

public class CalculadoraDeIntegers implements Calculadora {

        @Override

        public Number sumar(Number operando1, Number operando2) {

               // TODO Auto-generated method stub

               return null;

        }

}

A continuación te voy a explicar todo lo que ha hecho eclipse por ti:

  • package:Definir el paquete al que pertenece la clase CalculadoraDeIntegers.
  • import:Incluye (importa en java) el interfaz que va a implementar la clase que estás desarrollando
  • public:Introduce esta palabra reservada para indicarle a la JRE que la clase será visible para cualquier otra clase que desee hacer uso de ella.
  • class:Aquí indica que lo que está declarando es una clase (y no un interfaz, enumeración,)
  • implements:Le especifica al compilador que esta clase va a implementar todo el contrato del interfaz Calculadora.
  • @Override: Con esta anotación justo delante de la declaración del método sumar, eclipse le está indicando a la maquina virtual que la clase CalculadoraDeIntegersva a sobrescribir dicho método declarado en el interfaz.
  • //TODO:Esto es un comentario y seguido del texto TODO: es interpretado por eclipse como una tarea pendiente de hacer (en este caso lo que queda pendiente es implementar este método). Todas estas tareas las puedes consultar cómodamente abriendo la vista (viewTasks.
  • return:Por defecto eclipse programa que el método devuelva nulo (null). Este valor es el que recibe una variable en java antes de ser inicializada. Existe una excepción y es cuando estas variables son locales a un método o bloque de código.

No es la finalidad de este capitulo que te centres en implementar una calculadora sino que aprendas a declarar clases que implementen dicho interfaz. A continuación vas a repetir el ejercicio para conseguir como resultado una clase con el siguiente código.

package com.programarenjava.tutoriales.calculadora.implementaciones;

import com.programarenjava.tutoriales.calculadora.interfaces.Calculadora;

public class CalculadoraDeFloats implements Calculadora {

        @Override

        public Number sumar(Number operando1, Number operando2) {

               // TODO Auto-generated method stub

               return null;

        }

}

Hasta aquí el artículo de hoy. Confío en que hayas adquirido mayor conocimiento para definir  un interfaz en java y clases que la implementen utilizando los las facilidades que nos ofrece Eclipse. En el próximo capitulo del curso verás una forma elegante de programar la calculadora utilizando un mínimo número de líneas.

Ver: Pseint portable

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *