Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dan_SB en 20 de Marzo 2015, 20:32

Título: Ejercicio Clases con dos o más constructores en Java distintos CU00640B#
Publicado por: Dan_SB en 20 de Marzo 2015, 20:32
Buenas tardes!

Hoy vengo a hacerles una entrega de la practica de este capitulo del curso de programación Java, dice así el enunciado:

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.

Se crea dos constructores en la clase (con parámetros y sin parámetros.):

Código: [Seleccionar]
package profe;

public class Profesor {
    private String nombre, apellido;
    private int edad;
    private boolean especialista, casado;
   
    public Profesor(String vNombre, String vApellido, boolean vEspecialista, boolean vCasado, int vEdad){
        nombre = vNombre;
        apellido = vApellido;
        edad = vEdad;
        especialista = vEspecialista;
        casado = vCasado;
    }
   
    public Profesor(){
        nombre = "";
        apellido = "";
        edad = 0;
        especialista = false;
        casado = false;
    }
   
    public void setNombre(String ingresoNombre){
        nombre = ingresoNombre;
    }
   
    public void setApellido(String ingresoApellido){
        apellido = ingresoApellido;
    }
   
    public void setEdad(int ingresoEdad){
        edad = ingresoEdad;
    }
   
    public void setEspecialista(boolean ingresoEspecialista){
        especialista = ingresoEspecialista;
    }
   
    public void setCasado(boolean ingresoCasado){
        casado = ingresoCasado;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellido(){
        return apellido;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getEspecialista(){
        return especialista;
    }
   
    public boolean getCasado(){
        return casado;
    }
}

Ahora los invocaría de las dos formas!
profesor1 = new Profesor();
profesor2 = new Profesor("Daniel","Phillips",false,false,20);


Finalmente, mi pregunta es: ¿Es buena idea tener dos constructores en una clase?

Citar
Cuando más de un constructor o método tienen el mismo nombre pero distintos parámetros decimos que el constructor o método está sobrecargado. La sobrecarga de constructores o métodos permite llevar a cabo una tarea de distintas maneras (por ejemplo crear un objeto Persona con un nombre ya establecido o crearlo sin nombre establecido).
Título: Re:Ejercicio (CU00640B), Clases con dos o más constructores en Java.
Publicado por: toni_apr en 20 de Marzo 2015, 22:21
Hola Dan

Ejercicio perfecto. OK

Respecto a tu pregunta:
Citar
Finalmente, mi pregunta es: ¿Es buena idea tener dos constructores en una clase?

Tal vez al hecho de tener sobrecarga de constructores lo veas como la desventaja de soportar un peso demasiado grande.
Pero no, es todo lo contrario. Piensa en el mecánico que en su caja de herramientas tiene no una, sino varias llaves. Y tiene la posibilidad de escoger la que desee según la ocasión para realizar su reparación.
Así pues, has de pensar en esa sobrecarga de métodos como una ventaja.

Saludos