Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: KillerNemesis en 14 de Octubre 2014, 23:35
-
Buen dia señores entrego mi ejercicio, haciendo énfasis en que deje los valores boolean para que se inicialicen por defecto con el argumento que los profesores registrados (o podriamos decir "contratados") tienen que ser solteros y sin escialidad, ya que en la zona de "contratacion" hay una "estadistica" del 90% que no son especialistas.....(se que me malviajo un poco con el argumento... solo es para establecer un posible "escenario" y seguir el ejemplo del ejercicio inicializando con valores por defecto!)
/*KillerNemesis - aprendeaprogramar.com - EjercicioCU00640B*/
//CLASES CON DOS O MAS CONSTRUCTORES
public class Profesor{
private String nombre;
private String apellidos;
private int edad;
private boolean esCasado;
private boolean esEspecialista;
//Constructor
public Profesor (String NombreProfesor, String ApellidosProfesor, int EdadProfesor){ //CONSTRUCTOR 1
nombre = NombreProfesor;
apellidos = ApellidosProfesor;
edad = EdadProfesor;
esCasado = false;
esEspecialista = false;
}//Cierre del CONSTRUCTOR 1
public Profesor() { //COSNTRUCTOR 2
nombre = "";
apellidos = "";
edad = 0;
esCasado = false;
esEspecialista = false;
} //Cierre del CONSTRUCTOR 2
//Métodos Getter
public String getNombreProfesor() {return nombre;}
public String getApellidosProfesor() {return apellidos;}
public int getEdadProfesor() {return edad;}
} //Cierre de la clase
-
Hola KillerNemesis!
El objetivo en este ejercicio es dominar la declaración de diferentes tipos de constructores,
(Constructor general o sin parámetros y Constructor/es con parámetros) cosa que has dominado muy bien en tu propuesta como solución a este ejercicio. Has decido excluir la declaración de los posibles parámetros que inicializarian el valor de las variables de tipo boolean (esCasado y esEspecialista) y has decidido asignar su valor por defecto directamente, este tipo de situaciones es opcional por ejemplo podríamos poner el mismo escenario que has planteado. En resumen, tus dos constructores están correctos. Sin embargo te comentare algunas cosas que debes corregir en cuanto al código en general.
1ro: El nombre de un método get o método set, debe de ser relativo al nombre de la variable con que dicho método ínter actúe, la formar correcta de definir un nombre para un método get o set es usando exactamente el mismo nombre de la variable + la palabra set o get ante puesta a este, así tu método getNombreProfesor() quedaría correctamente así: getNombre() (idem para todos los demás métodos get y set) También te ha faltado incluir los getters correspondientes a las variables de tipo boolean.
2do: Veo que has decidido no incluir los métodos setters, (o tal vez lo has olvidado) en cualquiera de los casos debes tener en cuenta que un constructor con parámetros no sustituye el trabajo u objetivo de un método set, como harías para cambiar la edad de un profesor que has contratado ayer, con 34 años de edad pero que hoy esta de cumpleaños? He aquí la importancia de un método set, por lo tanto, como buena practica te aconsejo que en todos tus códigos incluyas tanto los métodos setters como los métodos getters.
Estos son los puntos que debes reforzar.
Saludos!