Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: KillerNemesis en 09 de Octubre 2014, 04:04
-
Buena noche
Entrego mi Ejercicio para revision, me quedo la duda si el mensaje del multiplo deberia de mostrarse en automatico al momento de colocar la edad (dandome como resultado la edad y el mensaje de los multiplos) porque de ser asi tendre que agregar el codigo ya que no lo configure de esa manera, si no que fue aparte.
Saludos! ;)
/* Version 1.1 Medico-aprendeaprogramar */
//version que integra una actualizacion de operadores aritmeticos para ontener un multiplo de 5 con respecto a la edad del medico
public class Medicos{
private String name;
private String lastname;
private int age;
private String specialty;
private boolean married;
private String DNI;
private int multiploedad;
//CONSTRUCTOR
public Medicos(){
name = "";
lastname = "";
age = 0;
specialty = "";
married = false;
DNI = "";
multiploedad = 0;
}
//METHOD
public void setName(String valueName){
name = valueName;
System.out.println("Se ha modificado el nombre del medico a: " + name);
}
public void setLastName (String valueLastName){
lastname = valueLastName;
System.out.println("El apellido del medico " + name + " " + "ha sido modificado a: " + lastname);
}
public void setAge (int valueAge){
age = valueAge;
System.out.println ("La edad del medico " + name + " " + lastname + "ha sido modificada a: " + age);
}
public void setSpecialty (String valueSpecialty){
specialty = valueSpecialty;
System.out.println ("La especialidad del medico " + name + " " + lastname + " " + "se modifico a: " + specialty);
}
public void setMarried (boolean valueMarried){
married = valueMarried;
if (married == false){
System.out.println ("El estado civil del medico " + name + " " + lastname + " es: Soltero");}
else{
System.out.println ("El estado civil del medico " + name + " " + lastname + " " + "es: Casado");}
}
public void setDni (String valueDni){
DNI = valueDni;
System.out.println("El numero DNI del medico " + name + " " + "cambiado a: " + DNI);
}
//-------------------------------------------------------------------------------------------------------------------------------------
//Metodo para obtener el multiplo de 5 con respecto a la edad
public void obtenermultiplo() {
int multiplo5 = age%5;
multiploedad = 5 - multiplo5;
System.out.println("El medico " + name + " " + lastname + " con la especialidad " + specialty + " tendra una edad multiplo de 5 dentro de " + multiploedad + " años");
}
//METODOS GETTERS
public String getname() {return name;}
public String getlastname() {return lastname;}
public int age() {return age;}
public String getspecialty() {return specialty;}
public boolean getmarried() {return married;}
public String getDNI() {return DNI;}
}
-
Hola KillerNemesis!
Tu ejercicio cumple con lo requerido, no obstante hay algunos puntos a comentar.
1ro: El nombre de tu clase no es apropiado por el "simple" hecho de pluralizar. En POO
(Programacion Orientada a Objetos) es preferible no pluralizar al momento de dar nombre a una clase, porque? bueno! un ejemplo logico seria: Cuando creas una instancia de clase (objeto) mediante una sintaxis como: Medicos medico = new Medicos(); estas creando un solo objeto y no varios objetos Medicos, una clase define objetos pero por separado, entonces es mas logico que tu clase Medicos use su nombre en singular "Medico".
2do: A diferencia de los metodos Setter, en tus metodos Getters no has implementado la regla camelCase: Esta es la regla o estilo camelCase, exactamente su variación lowerCamelCase
http://es.wikipedia.org/wiki/CamelCase donde se usan palabras o frases compuestas, y donde
la primera palabra se escribe en letras minúsculas y cada primera letra de las posibles
siguientes palabras se escriben en mayúsculas.
3ro: Has declarado: public int age() {return age;} donde debiste decarar: public int getAge() {return age;} (olvidaste anteponer la palabra "get").
4to: A modo de consejo, te sugiero inicializar las variables name, lastname specialty y DNI con valor = "Unknown"; en lugar de valor = "";
De mi parte eso es todo.
while(true)
{
System.out.println("Saludos! ;)");
}
-
Te agradezco tus observaciones Sniper , tienes razón con respecto a...
Tu ejercicio cumple con lo requerido, no obstante hay algunos puntos a comentar.
1ro: El nombre de tu clase no es apropiado por el "simple" hecho de pluralizar. En POO
(Programacion Orientada a Objetos) es preferible no pluralizar al momento de dar nombre a una clase, porque? bueno! un ejemplo logico seria: Cuando creas una instancia de clase (objeto) mediante una sintaxis como: Medicos medico = new Medicos(); estas creando un solo objeto y no varios objetos Medicos, una clase define objetos pero por separado, entonces es mas logico que tu clase Medicos use su nombre en singular "Medico".
Lo que pasa es que hice mi ejercicio desde 0 en ves de tomar el ejercicio anterior y para rematar lo hice creando una nueva clase donde estaba proyecto anterior de medico es por eso que opte por colocarlo en plural ya que existía la clase medico, acepto que fue un error al momento de crear una nueva clase donde ya existia una igual
Por otro lado en...
2do: A diferencia de los metodos Setter, en tus metodos Getters no has implementado la regla camelCase
3ro: Has declarado: public int age() {return age;} donde debiste decarar: public int getAge() {return age;} (olvidaste anteponer la palabra "get").
No entiendo porque razón no lo hice, simplemente creo haber estado muy "concentrado" en recordar los pasos de la programación, aunque no es excusa para no haber revisado al 100 mi código antes de probarlo. Me confié en que no me dio ningún error de sintaxis al compilar el código. Prestare mas atención
Saludos!