Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dark4600 en 27 de Septiembre 2016, 04:02

Título: recomendación usar modificador de acceso a los atributos private Java CU00632B
Publicado por: Dark4600 en 27 de Septiembre 2016, 04:02
Aquí dejo mi código correspondiente al ejercicio CU00632B del manual de programación orientada a objetos con Java.

Código: [Seleccionar]

public class Medico{
   
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDocumentoIdentidad;
    String especialidad;

    public Medico(){
        nombre="Alfonso";
        apellidos="Moreno Zaragoza";
        edad=40;
        casado=true;
        numeroDocumentoIdentidad="MUNT3990";
        especialidad="Dermatologia";
    }
   
    public void setNombre(String valorNombre){
        nombre=valorNombre;
        System.out.println("Ha cambiado la especialidad del medico con nombre: " + nombre);
    }

    public void setApellidos(String valorApellidos){
        apellidos=valorApellidos;
        System.out.println("Con apellidos " +  apellidos);;
    }

    public void setEdad(int valorEdad){
        edad=valorEdad;
        System.out.println("Que tiene " + edad + " años");
    }

    public void setCasado(boolean valorCasado){
        casado=valorCasado;
        if(valorCasado=true){
            System.out.println("Que se encuentra casado");
        }     
    }

    public  void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad=valorNumeroDocumentoIdentidad;
        System.out.println("Con numero de documentos identificable: " + numeroDocumentoIdentidad);
    }

    public void setEspecialidad(String valorEspecialidad){
        especialidad=valorEspecialidad;
        System.out.println("A la nueva especialidad de: " +  especialidad);
    }

    public String getNombre(){
        return nombre;
    }

    public String getApellidos(){
        return apellidos;
    }

    public int getEdad(){
        return edad;
    }

    public boolean getCasado(){
        return casado;
    }

    public String getNumeroDocumentoIdentidad(){
        return numeroDocumentoIdentidad;
    }

    public String gerEspecialidad(){
        return especialidad;
    }
}


Saludos
Título: Re:Imprimir por consola en Java con System.out. Ejercicio (CU00632B)
Publicado por: pedro,, en 28 de Septiembre 2016, 11:30
Hola Dark4600.

Lo primero como en el anterior ejercicio, recomendar que uses el modificador de acceso a los atributos, en este caso "private", mas adelante se explicará la importancia que tienen.

En el método :

Código: [Seleccionar]
public void setCasado(boolean valorCasado){
        casado=valorCasado;
        if(valorCasado=true){
            System.out.println("Que se encuentra casado");
        }     
    }

Si lo has probado, puedes comprobar que aunque le demos como valor "false" al atributo casado, siempre entra en el "if" nos muestra el mensaje. Esto pasa porque
al ejecutar "valorCasado=true" lo que haces es asignarle el valor "true", para comparar debes usar el operador lógico "==" que se explica dos unidades más adelante.

Saludos. ;D