Autor Tema: (CU00632B) Imprimir por consola en Java con System.out  (Leído 2989 veces)

umadara

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
(CU00632B) Imprimir por consola en Java con System.out
« en: 27 de Junio 2016, 18:52 »
Hola, esta es mi solución para el ejercicio planteado
Código: [Seleccionar]
/**
 * Clase de medico.
 * @author (umadara)
 * @version (1.0)
 */
public class medico
{ //nombre de la clase
   
    //atributos de la clase
    public String nombre; //nombre del medico
    public String apellidos; //apellidos del medico
    public int edad; //edad del medico
    public boolean casado; //casado o no
    public String numeroDNI; //numero documento de identidad
    public String especialidad; //tipo de especialidad
   
    //constructor
    public medico () {
        nombre = "Iván";
        apellidos = "Soldado";
        edad = 30;
        casado = true;
        numeroDNI = "12345678";
        especialidad = "anestesia";
    } //fin del constructor
   
    //metodos para establecer variables
    //metodo nombre
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
        System.out.println ("el nombre del médico cambia a " + getNombre());
    }
    //metodo apellido
    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println ("el apellido del médico " + getNombre() + " cambia a " + getApellidos());
    }
    //metodo edad
    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println ("la edad del médico " + getNombre() + " cambia a " + getEdad());
    }
    //metodo casado
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println ("el estado matrimonial del médico " + getNombre() + " a cambiado a " + getCasado());
    }
    //metodo numero DNI
    public void setNumeroDNI (String valorNumeroDNI) {
        numeroDNI = valorNumeroDNI;
        System.out.println ("el numero de DNI del médico " + getNombre() + " ha cambiado a " + getNumeroDNI());
    }
    //metodo especialidad
    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println ("la especialidad del médico de nombre " + getNombre() + " ha cambiado a " + getEspecialidad());
    }
   
    //metodo obtener variables
    //metodo nombre
    public String getNombre () {return nombre; }
    //metodo apellidos
    public String getApellidos () {return apellidos; }
    //metodo edad
    public int getEdad () {return edad; }
    //metodo casado
    public boolean getCasado () {return casado; }
    //metodo numero DNI
    public String getNumeroDNI () {return numeroDNI; }
    //metodo especialidad
    public String getEspecialidad () {return especialidad; }
}
     

Decir que lo que no he conseguido hacer es sacar una frase coherente para la variante boleana ya que creo que en el curso todavía no hemos visto como afrontar esto todavía.
Un saludo.

eduardoc

  • Principiante
  • **
  • Mensajes: 50
    • Ver Perfil
Re:(CU00632B) Imprimir por consola en Java con System.out
« Respuesta #1 en: 27 de Junio 2016, 22:05 »
Hola Umadara, cómo estás?

A mi entender me parece que el código es correcto, pero esperemos que lo confirme alguien con más conocimientos que yo ;)

Aprovecho para hacer una consulta, en los métodos para establecer los valores (set) llamar al un método get no es más "laborioso" que tomar la información directamente de la variable?
Intentando no ser tan confuso, llamar a una variable es directo para obtener la información mientras que llamar a un método implica ubicar el método, ocupar un espacio adicional de memoria y devolver el valor.
Si le pifio en mi apreciación disculpas pero estoy aprendiendo ;)

Saludos,
Edu.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:(CU00632B) Imprimir por consola en Java con System.out
« Respuesta #2 en: 28 de Junio 2016, 00:11 »
El tema que no podes llamar a una variable directo si vas a instancia cuando crea un nuevo objeto desde el main primero tenes que crear el objeto para usar sus métodos.
Es decir cuando va a asignar un valor primero nombra al objeto que creaste y después el método set para agregar. No se si me entender.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:(CU00632B) Imprimir por consola en Java con System.out
« Respuesta #3 en: 30 de Junio 2016, 16:07 »
Hola umadara: no te preocupes por la frase coherente pues efectivamente tienes que ir basándote en lo que se va explicando en el curso.

Sobre la consulta de Edudardo: Java tiene una filosofía basada en no permitir el acceso directo a los atributos de un objeto. Es cierto que dentro de la propia clase puedes acceder a sus atributos directamente, pero como ha indicado DRANXZ88 no podrás acceder cuando estés realizando desarrollos de programación más complejos. El origen de esta filosofía busca evitar "los líos" que se creaban en la programación tradicional cuando desde cualquier punto de un programa se podía tener acceso a variables y modificar su contenido (lo que creaba efectos colaterales y al final todo se podía convertir en un auténtico lío). Java intenta evitar este lío con una perspectiva de restringir los accesos a los datos y forzar a que se hagan a través de get y set. Incluso en Java podrías saltarte esto (hay formas de hacerlo) pero sería ir en contra de la filosofía de este tipo de programación. Más adelante podrás ver variantes y más opciones.

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".