Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: ronal.d87 en 03 de Septiembre 2018, 17:18

Título: Comprender el concepto de constructor en Java ¿Qué es y para qué sirve? CU00640B
Publicado por: ronal.d87 en 03 de Septiembre 2018, 17:18
Hola he aqui el desarrollo propuesto de la actividad CU00640B del tutorial pdf de programación Java.

Citar
Define una clase Profesor considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y otro constructor que no reciba parámetros. Crea los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto usando un constructor y luego otro objeto usando el otro constructor. Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

Código: [Seleccionar]
/**
 *
 * @author Ronnie
 */
public class ProfesorCU00640B {
    private String nombre, apellidos;
    private int edad;
    private boolean casado, especialista;

    public ProfesorCU00640B(String nombre, String apellidos, int edad,
            boolean casado, boolean especialista) {
        nombre = "Juan Diego";
        apellidos = "Mosquera Herrera";
        edad = 18;
        casado = true;
        especialista = true;
    }

    public ProfesorCU00640B() {
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        especialista = false;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public void setCasado(boolean casado) {
        this.casado = casado;
    }

    public void setEspecialista(boolean especialista) {
        this.especialista = especialista;
    }

    public String getNombre() {
        return nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public int getEdad() {
        return edad;
    }

    public boolean isCasado() {
        return casado;
    }

    public boolean isEspecialista() {
        return especialista;
    }
   
       
}
Título: Re:Comprender el concepto de constructor en Java ¿Qué es y para qué sirve? CU00640B
Publicado por: Ogramar en 21 de Febrero 2019, 20:08
Buenas, para quien mire este ejercicio lo comento. No está bien resuelto: un constructor que recibe parámetros debe usar esos parámetros para inicializar los atributos de objeto. No es correcto tener un constructor como     
public ProfesorCU00640B(String nombre, String apellidos, int edad, boolean casado, boolean especialista)
y luego tener por ejemplo nombre = "Juan Diego";

En ese constructor no se está haciendo uso del parámetro recibido, ya que independientemente del parámetro que se reciba el nombre de la instancia (objeto) creado siempre va a ser "Juan Diego".

Puede verse una solución correcta en https://aprenderaprogramar.com/foros/index.php?topic=2181.0

Salu2