miércoles, 5 de julio de 2017

Métodos en Java


Los métodos son funciones que determinan el comportamiento de los objetos. Un objeto se comporta de una u otra forma dependiendo de los métodos de la clase a la que pertenece. Todos los objetos de una misma clase tienen los mismos métodos y el mismo comportamiento.

Existen tres tipos de métodos: métodos de consulta, métodos modificadores y operaciones. Los métodos de consulta sirven para extraer información de los objetos, los métodos modificadores sirven para modificar el valor de los atributos del objeto y las operaciones definen el comportamiento de un objeto.

Los métodos “get” son métodos de consulta, mientras que los métodos “set” son métodos modificadores.

Los métodos “get” se utilizan para extraer el valor de un atributo del objeto y los métodos “set” para modificarlo. En la clase Vehiculo es necesario definir un método “get” para cada uno de sus atributos: getMatricula(), getMarca(), getModelo(), getColor(), getTarifa() y getDisponible(). 

Los métodos “set” solo se definen para los atributos que pueden ser modificados después de que se ha creado el objeto. En este caso es necesario definir los métodos setTarifa(double tarifa) y setDisponible(boolean disponible) para modificar la tarifa del alquiler del vehículo y su disponibilidad, respectivamente.

Un método “get” se declara public y a continuación se indica el tipo que devuelve. Es un método de consulta. Por ejemplo, el método getTarifa() devuelve double porque el atributo tarifa es de tipo double. La lista de parámetros de un método ‘get’ queda vacía. En el cuerpo del método se utiliza return para devolver el valor correspondiente al atributo tarifa del objeto, al que se hace referencia como this.tarifa.




Un método “get” utiliza return para devolver el valor del atributo. En este caso el identificador del atributo es tarifa y se refiere a él como this.tarifa


El método getAtributos() es un caso particular de método “get” que devuelve los valores concatenados de los atributos del objeto.

public class Vehiculo {
private String matricula;
private String marca;
private String modelo;
private String color;
private double tarifa = 0.0;
private boolean disponible = false;
public String getAtributos() {
return "Matrícula: " + this.matricula +
" Modelo: " + this.marca + " " + this.modelo +
" Color: " + this.color +
" Tarifa: " + this.tarifa +
" Disponible: " + this.disponible;
}
}

Un método “set” se declara public y devuelve void. La lista de parámetros de un método ‘set’ incluye el tipo y el valor a modificar. Es un método modificador. Por ejemplo, el método setTarifa(double tarifa) debe modificar el valor de la tarifa del alquiler almacenado en el objeto. El cuerpo de un método "set" asigna al atributo del objeto el parámetro de la declaración.

public void setTarifa(double tarifa) {
this.tarifa = tarifa;

}


Un método “set” modifica el valor de un atributo del objeto. En este caso el identificador del atributo es tarifa y se refiere a él como this.tarifa para asignarle el valor del parámetro.

Un método de tipo operación es aquel que realiza un cálculo o modifica el estado de un objeto. Este tipo de métodos pueden incluir una lista de parámetros y puede devolver un valor o no. Si el método no devuelve un valor, se declara void.

Por ejemplo, la clase Circulo define dos métodos de tipo operación, uno para calcular el perímetro y otro para calcular el área.

public class Circulo {
public static final double PI = 3.1415926536;
private double radio;
public Circulo(double radio) {
this.radio = radio;
}
public double getRadio() {
return this.radio;
}
public double calcularPerimetro() {
return 2 * PI * this.radio;
}
public double calcularArea() {
return PI * this.radio * this.radio;
}
}


En este ejemplo, los métodos calcularPerimetro() y calcularArea() devuelven un valor double y ninguno de ellos recibe parámetros.