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.