2.5 PASO A PARÁMETROS

 

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