Autor Tema: Java por qué se debe crear un método set para cada atributo CU00637B  (Leído 2484 veces)

dlegolas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Ejercicio Resuelto CU00637B

Código: [Seleccionar]
public class Motor {
    private int tipoBomba;
    private String tipoFluido,combustible;   
   
    public Motor (){
        tipoBomba = 1;
        tipoFluido = "Agua";
        combustible = "0";       
    }
   
    public void getCargaDatos (int valorBomba, String valorFluido, String valorCombustible){
        tipoBomba = valorBomba;
        tipoFluido = valorFluido;
        combustible = valorCombustible;
    }
   
    public void getdimeTipoMotor (){
        switch (tipoBomba) {
            case 0: System.out.println("No hay establecido un valor definido para el tipo de bomba"); break;
            case 1: System.out.println("La bomba es una bomba de agua"); break;
            case 2: System.out.println("La bomba es una bomba de gasolina"); break;
            case 3: System.out.println("La bomba es una bomba de hormigon"); break;
            case 4: System.out.println("La bomba es una bomba de pasta alimenticia");break;
            default: System.out.println("No existe un valor válido para tipo de bomba");break;
        }
    }
   
}
« Última modificación: 24 de Octubre 2015, 17:51 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola dlegolas.

En primer lugar decirte que en el constructor se deben establecer los valores de los atributos como 0 (si son numéricos), "" (cadena vacía, si son cadenas de texto) o false (si son booleanos).
Normalmente se hace así para evitar que todos los objetos que se creen contengan los mismos valores, es decir, en tu caso todos los objetos que se crearan siempre tendrían como tipoBomba 1, tipoFluido "Agua", combustible "0".
El constructor debería quedar así:
Código: [Seleccionar]
public Motor (){
        tipoBomba = 0;
        tipoFluido = "";
        combustible = "";       
    }

En la siguiente parte del código...
Código: [Seleccionar]
public void getCargaDatos (int valorBomba, String valorFluido, String valorCombustible){
        tipoBomba = valorBomba;
        tipoFluido = valorFluido;
        combustible = valorCombustible;
    }
en vez de llamar al método getCargaDatos le deberías llamar setDatos, porque lo que hace es establecer un valor para cada atributo.
En mi opinión personal, creo que sería mas apropiado que creases un método set para cada atributo, de esta manera cada vez que quisieras cambiar un atributo, no sería necesario tener que cambiar los demás, quedando así...

Código: [Seleccionar]
public void setTipoBomba(int valorTipoBomba){ tipoBomba = valorTipoBomba; }
public void setTipoFluido(String valorTipoFluido){ tipoFluido = valorTipoFluido; }
public void setCombustible(String valorCombustible){ combustible = valorCombustible; }

La parte del switch está bien resuelta y sólo te faltaría añadir a tu código los métodos get, que devuelvan los valores de cada uno de los atributos.

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".