Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dark4600 en 27 de Septiembre 2016, 23:37
-
Aquí esta mi código para el ejercicio CU00639B del tutorial básico de programación orientada a objetos, en dónde, por cierto, al crear un objeto y al ingresar los valores (sin importar cual sea) siempre me muestra los parámetros Casado y Especialista como false.
No entiendo muy bien el porque, por eso me gustaría que me ayudaran en esta duda.
Gracias por su atención.
Saludos.
public class Bombero{
//Atributos
String nombre;
String apellidos;
int edad;
boolean casado;
boolean especialista;
//Constructor que, mediante parametros (contenido dentro de los parentesis), inicializa los atributos
public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
nombre = valorNombre;
apellidos = valorApellidos;
edad = valorEdad;
boolean casado = valorCasado;
boolean especialista = valorEspecialista;
}
//Metodos para establecer el valor de los atributos
public void setNombre(String valorNombre){
nombre=valorNombre;
}
public void setApellidos(String valorApellidos){
apellidos=valorApellidos;
}
public void setEdad(int valorEdad){
edad=valorEdad;
}
public void setCasado(boolean valorCasado){
casado=valorCasado;
}
public void setEspecialista(boolean valorEspecialista){
especialista=valorEspecialista;
}
//Metodos para regresar los valores de los atributos
public String getNombre(){
return nombre;
}
public String getApellidos(){
return apellidos;
}
public int getEdad(){
return edad;
}
public boolean getCasado(){
return casado;
}
public boolean getEspecialista(){
return especialista;
}
}
-
Buenos días.
La razón de que siempre te den false como resultado es que vuelves a declarar ambas variables en el constructor al ponerles el identificador boolean delante.
Así,la variable casado del constructor no inicializa a la variable casado de los atributos por lo que ésta devuelve siempre false que es su valor por defecto.
El constructor debería quedar as´:
public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
nombre = valorNombre;
apellidos = valorApellidos;
edad = valorEdad;
boolean casado = valorCasado;
boolean especialista = valorEspecialista;
Tambien deberías declarar los atributos de la clase como private
public class Bombero{
//Atributos
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private boolean especialista;
Un saludo
-
Perdón,no modifiqué el constructor.
Debería quedar así:
public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
nombre = valorNombre;
apellidos = valorApellidos;
edad = valorEdad;
casado = valorCasado;
especialista = valorEspecialista;
Un saludo