Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: arcanFAC en 10 de Marzo 2015, 16:33

Título: CU00640B. Sobrecarga. ¿Cuántos parámetros debe recibir un constructor Java?
Publicado por: arcanFAC en 10 de Marzo 2015, 16:33
Aqui presento este ejercicio:

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]
public class Profesor{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Profesor(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
    public Profesor(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        especialista = false;
    }
   
    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;
    }
   
    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;}
}
Título: Re:Aprender java.Ejercicio (CU00640B).Sobrecarga de constructores.
Publicado por: toni_apr en 10 de Marzo 2015, 22:04
Hola arcanFAC

Ejercicio correcto con todos los setters y getters. Bien.

Saludos
Título: Re:Aprender java.Ejercicio (CU00640B).Sobrecarga de constructores.
Publicado por: arcanFAC en 11 de Marzo 2015, 02:46
Ok, ty.
Título: Re:Aprender java. Ejercicio resuelto (CU00640B). Sobrecarga de constructores.
Publicado por: nasrry en 01 de Abril 2015, 17:17
Buenas.
Aquí esta la solución al Ejercicio.

Espero sus Correcciones.

Código: [Seleccionar]
/**
 * ejercicio of class profesor here.
 */
public class Profesor
{
    // instance variables - replace the example below with your own
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

    /**
     * Constructor1 para el objeto de la clase Profesor
     */
    public Profesor()
    {
        // inicializacion de variables
        nombre ="";
        apellidos ="";
        edad = 0;
        casado = false;
        especialista =false;
    }

    /**
     * Constructor2 para el objeto de la clase Profesor
     */
    public Profesor(String valorNombre, String valorApellidos)
    {
        // inicializacion de variables
        nombre =valorNombre;
        apellidos =valorApellidos;
        edad = 0;
        casado = false;
        especialista =false;
    }

    /**
     * metodos setters
     */
    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 gettters
     */
    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;}
}
Título: Re:Aprender java. Ejercicio resuelto (CU00640B). Sobrecarga de constructores.
Publicado por: toni_apr en 01 de Abril 2015, 22:27
Hola nasrry

Tu ejercicio está muy bien, salvo en una cosa.
El constructor que recibe parámetros, solo recibe dos, cuando debía recibir tantos parámetros como atributos tiene la clase.

Otra cosa es que además del constructor con parámetros para todos y cada uno de los atributos, quieras usar un constructor con solo los parámetros que son importantes para tí, y al resto le pones los valores por defecto.
Cosa que también puedes hacer. Pero primero, lo  primero. Constructor para todos los atributos.

Saludos