Saltar la navegación

4.5.- Cuerpo de un método.

Estructura de una clase Java: detalle del cuerpo de método.
Ministerio de Educación (CC BY-NC)
int obtenerX ()
{
     return x;
}

El interior de un método (cuerpo) está compuesto por una serie de sentencias en lenguaje Java:

  • Sentencias de declaración de variables locales al método.
  • Sentencias que implementan la lógica del método (estructuras de control como bucles o condiciones; utilización de métodos de otros objetos; cálculo de expresiones matemáticas, lógicas o de cadenas; creación de nuevos objetos, etc.). Es decir, todo lo que has visto en las unidades anteriores.
  • Sentencia de devolución del valor de retorno (return). Aparecerá al final del método y es la que permite devolver la información que se le ha pedido al método. Es la última parte del proceso y la forma de comunicarse con la parte de código que llamó al método (paso de mensaje de vuelta). Esta sentencia de devolución siempre tiene que aparecer al final del método. Tan solo si el tipo devuelto por el método es void (vacío) no debe aparecer (pues no hay que devolver nada al código llamante).

En el ejemplo de la clase Punto, tenías los métodos obtenerX y obtenerY. Veamos uno de ellos:

En ambos casos lo único que hace el método es precisamente devolver un valor (utilización de la sentencia return). No recibe parámetros (mensajes o información de entrada) ni hace cálculos, ni obtiene resultados intermedios o finales. Tan solo devuelve el contenido de un atributo. Se trata de uno de los métodos más sencillos que se pueden implementar: un método que devuelve el valor de un atributo. En inglés se les suele llamar métodos de tipo get, que en inglés significa obtener.

Además de esos dos métodos, la clase también disponía de otros dos que sirven para la función opuesta (establecerX y establecerX). Veamos uno de ellos:

void establecerX (int vx)
{
     x= vx;
}

En este caso se trata de pasar un valor al método (parámetro vx de tipo int) el cual será utilizado para modificar el contenido del atributo x del objeto. Como habrás podido comprobar, ahora no se devuelve ningún valor (el tipo devuelto es void y no hay sentencia return). En inglés se suele hablar de métodos de tipo set, que en inglés significa poner o fijar (establecer un valor). El método establecerY es prácticamente igual pero para establecer el valor del atributo y.

Normalmente el código en el interior de un método será algo más complejo y estará formado un conjunto de sentencias en las que se realizarán cálculos, se tomarán decisiones, se repetirán acciones, etc. Puedes ver un ejemplo más completo en el siguiente ejercicio.

Debes conocer

Como ya comentamos en la primera unidad de trabajo y has ido comprobando a lo largo de las demás, Netbeans se encarga de compilar el código que escribimos en cuanto guardamos. Internamente va generando los ficheros .class necesarios para lanzar a ejecución las aplicaciones. Si en algún momento encontramos algún problema con la compilación automática, por ejemplo, porque detectamos que no se han actualizado convenientemente los ficheros .class y el resultado de ejecución es incorrecto, podemos forzar la compilación de todo el proyecto. Para ello, utilizamos la opción Clean and Build, accesible desde el menú contextual que aparece al hacer click con el botón derecho sobre un proyecto.

Ilustración que muestra como forzar el compilado de un proyecto completo en Netbeans.
Ministerio de Educación y FP (CC BY-NC)

Ejercicio resuelto

Vamos a seguir ampliando la clase en la que se representa un rectángulo en el plano (clase Rectangulo). Para ello has pensado en los siguientes métodos públicos:

  • Métodos obtenerNombre y establecerNombre, que permiten el acceso y modificación del atributo nombre del rectángulo.
  • Método calcularSuperfice, que calcula el área encerrada por el rectángulo.
  • Método calcularPerímetro, que calcula la longitud del perímetro del rectángulo.
  • Método desplazar, que mueve la ubicación del rectángulo en el plano en una cantidad X (para el eje X) y otra cantidad Y (para el eje Y). Se trata simplemente de sumar el desplazamiento X a las coordenadas x1 y x2, y el desplazamiento Y a las coordenadas y1 e y2. Los parámetros de entrada de este método serán por tanto X e Y, de tipo double.
  • Método obtenerNumRectangulos, que devuelve el número de rectángulos creados hasta el momento.

Incluye la implementación de cada uno de esos métodos en la clase Rectangulo.

¡Es muy recomendable que trates de implementarlo en Netbeans!

Si tienes dudas, revisa la solución.