Si creamos varios objetos del Coche y
queremos darle un color tal y como tenemos el código por obligación todos
tendrían que ser de color azul, si queremos que cada objeto tenga un color
diferente la solución es pasarle al método como parámetro el color:
public void
establece_color(String color_coche) {
color=color_coche;;
}
La propiedad que le pasamos por
parámetro va a ser igual a la propiedad que hemos declarado en la clase Coche.
Si vamos al archivo Uso_coche:
package poo;
public class Uso_vehiculos {
public static void main(String[] args) {
Coche
Renault = new Coche();
Coche
Fiat = new Coche();
Renault.establece_color("Naranja");
System.out.println(Renault.dame_color());
Fiat.establece_color("Rojo");
System.out.println(Fiat.dame_color());
}
}
Hemos creado dos objetos y le hemos
pasado por parámetro en el método Setter
un color, de forma que si lo ejecutamos:
En la clase Coche tenemos un método Getter que llamamos dame_largo() lo vamos a modificar para
que nos dé una descripción de las propiedades del objeto coche:
public String
dame_datos_generales() {
return "La
plataforma del vehículo tiene "+ruedas+" ruedas" +
". Mide
"+largo/1000+" metros con un ancho de "+ancho+
" cm y un
peso de plataforma de "+peso+" kg.";
}
Si vamos al archivo Uso_vehiculos para
llamar a este método:
package poo;
public class Uso_vehiculos {
public static void main(String[] args) {
Coche
Renault = new Coche();
Renault.establece_color("Naranja");
System.out.println(Renault.dame_datos_generales());
System.out.println(Renault.dame_color());
}
}
Si ejecutamos:
Vamos a crear otro método que nos
indique si tiene asientos de cuero o no, creamos primero el método Setter:
public void
establece_asientos_cuero(String asientos_cuero) {
this.asientos_cuero=asientos_cuero;
}
Como parámetro le hemos pasado un
String que va a ser igual a la propiedad declarada en la clase Coche. Al
llamarse las dos propiedades igual y diferenciar una de la otra, la propiedad
de la clase irá acompañada de la palabra this.
Visto para que vale la palabra this, lo modificaríamos de la siguiente
forma:
public void
establece_asientos_cuero(String asientos_cuero) {
if(asientos_cuero=="si") {
this.asientos_cuero=true;
}else {
this.asientos_cuero=false;
}
}
Mediante un condicional if le indicamos que si tiene asientos
cuero la variable de clase sea true,
sino, que sea false. Recordad que
esta variable declarada en la clase está como boolean.
Creamos ahora el método Getter:
public String
dame_asientos_cuero() {
if(asientos_cuero==true) {
return "El coche
dispone de asientos de cuero";
}else {
return "El coche
dispone de asientos de serie";
}
}
Vamos al código del archivo
Uso_vehiculos para llamar primero al método Setter y posteriormente al método Getter:
package poo;
public class Uso_vehiculos {
public static void main(String[] args) {
Coche
Renault = new Coche();
Renault.establece_color("Naranja");
System.out.println(Renault.dame_datos_generales());
System.out.println(Renault.dame_color());
Renault.establece_asientos_cuero("si");
System.out.println(Renault.dame_asientos_cuero());
}
}
Si lo ejecutamos:
Al pasarle como parámetro “si” nos
indica que el coche dispone de asientos de cuero, si le pasamos como parámetro
“no”:
Renault.establece_asientos_cuero("no");
Nos indica que el coche dispone de
asientos de serie:
Nos falta la propiedad climatizador,
si el coche dispone de climatizador o no, vamos a crear un método Setter y Getter va a ser parecido a los asientos de cuero:
public void
configura_climatizador(String climatizador) {
if(climatizador.equalsIgnoreCase("si")) {
this.climatizador=true;
}else {
this.climatizador=false;
}
}
Una vez creado el método Setter creamos el método Getter:
public String dime_climatizador()
{
if(climatizador=true) {
return "El coche
dispone de climatizador";
}else {
return "El coche
dispone de aire acondicionado";
}
}
Si vamos al archivo Uso_vehiculos y
añadimos dos líneas de código para que nos salga por consola si el coche
dispone de climatizador o no:
package poo;
public class Uso_vehiculos {
public static void main(String[] args) {
Coche
Renault = new Coche();
Renault.establece_color("Naranja");
System.out.println(Renault.dame_datos_generales());
System.out.println(Renault.dame_color());
Renault.establece_asientos_cuero("no");
System.out.println(Renault.dame_asientos_cuero());
Renault.configura_climatizador("si");
System.out.println(Renault.dime_climatizador());
}
}
Si ejecutamos:
2.4 MÉTODOS GETTER Y SETTER << >> 2.6 CONSTRUCCIÓN DE OBJETOS
No hay comentarios:
Publicar un comentario