Autor Tema: Ejercicio resuelto CU00623B# (Clases Java atributos campos constructor métodos)  (Leído 7596 veces)

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Hola! Recién decidí aventurarme en el mundo de la programación, para bien o para mal opté por el lenguaje Java y estoy dando seguimiento a su curso "Java desde cero".
Quise dejar el código del ejercicio en el apartado CU00623B como lo dice el enunciado de este tema; estoy abierto a todo tipo de sugerencias, comentarios y correcciones de quienes tengan la amabilidad de responder.


Código: [Seleccionar]
// Esta clase representa una persona. -->
public class Persona { // Nombre de la clase

    private String nombre; // Nombre de la persona
    private String apellidos; // Apellidos de la persona
    private int edad; // Edad de la persona
    private boolean casado; // Estado civil de la persona
    private String DUI; // Documento único de identidad

    // Constructor: al crear un objeto persona se jecutará el código que se incluya en el constructor.

    public Persona () {
        nombre = ("");
        apellidos = ("");
        edad = 0;
        casado = true;
        DUI = ("");
    } // Cierre de la clase

    // Método para establecer nombre
    public void setnombre (String valorNombre) {
        nombre = valorNombre;
    } // Cierre del método

    // Método para establecer los apellidos
    public void setapellidos (String valorApellidos) {
        apellidos = valorApellidos; // Los apellidos de la persona
    } // Cierre del método

    public void setEdad (int valorEdad) {
        edad = valorEdad; // La edad de la persona
    } // Cierre del método

    // Método para establecer el estado civil
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
    } // Cierre del método

    // Método para establecer el numeroDocumentoIdentidad
    public void setDUI(String valorDUI) {
        DUI = valorDUI;
    }
// Método para obtener el nombre
public String getNombre (){ return nombre;} // Cierre del método

// Método para obtener el apellido
public String getApellido (){ return apellidos;} // Cierre del método

// Método para obtener la edad
public int getEdad (){ return edad;} // Cierre del método

// Método para obtener el estado civil
public boolean getCasado (){ return casado;} // // Cierre del método

// Método para obtener el número de documento único de identidad
public String getDUI (){ return DUI;} // Cierre del método

} // Cierre de las clases

Gracias, de antemano, a todos aquellos que aporten su valiosa ayuda a un servidor.
« Última modificación: 05 de Abril 2015, 23:33 por Ogramar »

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Hola  Arja!

Para ser una persona que recien entra al mundo de la programacion (nivel novato) creo que has presentado una propuesta como solución a este ejercicio bastante aceptable.

Solo comentar dos puntos para que los tengas presentes en tus futuros codigos.

1ro: Para las variables de tipo String e int has inicializado sus valores con su valor por defecto correcto, en cambio para la variable de tipo boolean "casado" la has inicializado con un valor diferente a su valor por defecto que es "false" (tu la has inicializado con valor true). Lo recomendable es siempre inicializar una variable a su valor por defecto, a menos que no sea un caso especial que requiera lo contrario.

2do: A diferencia de los métodos getters donde si lo has hecho correctamente, en algunos casos de los métodos setters no has respetado o implementado una regla muy importante. 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. Esta regla (lowerCamelCase) se aplica a nombres de variables y nombres de métodos. Para nombres de clases se implementa la variación "UpperCamelCase" donde  la primera letra de cada una de las palabras es mayúscula. Ejemplo: public class EjemploDeUpperCamelCase.

Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Excelente Sniper, tomaré en cuenta tus recomendaciones de ahora en adelante.

Gracias por revisar el código, un gran gesto de tu parte!

Saludos!

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Sniper, he aplicado los cambios al código según lo has sugerido; lo dejo a continuación para corroborar con tu ayuda si he comprendido los puntos mencionados:

Código: [Seleccionar]
// Esta clase representa una persona. -->
public class Persona { // Nombre de la clase

    private String nombre; // Nombre de la persona
    private String apellidos; // Apellidos de la persona
    private int edad; // Edad de la persona
    private boolean casado; // Estado civil de la persona
    private String DUI; // Documento único de identidad

    // Constructor: al crear un objeto persona se jecutará el código que se incluya en el constructor.

    public Persona () {
        nombre = ("");
        apellidos = ("");
        edad = 0;
        casado = false;
        DUI = ("");
    } // Cierre de la clase

    // Método para establecer nombre
    public void setNombre (String valorNombre) {
        nombre = valorNombre;
    } // Cierre del método

    // Método para establecer los apellidos
    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos; // Los apellidos de la persona
    } // Cierre del método

    public void setEdad (int valorEdad) {
        edad = valorEdad; // La edad de la persona
    } // Cierre del método

    // Método para establecer el estado civil
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
    } // Cierre del método

    // Método para establecer el numeroDocumentoIdentidad
    public void setDUI(String valorDUI) {
        DUI = valorDUI;
    }
// Método para obtener el nombre
public String getNombre (){ return nombre;} // Cierre del método

// Método para obtener el apellido
public String getApellido (){ return apellidos;} // Cierre del método

// Método para obtener la edad
public int getEdad (){ return edad;} // Cierre del método

// Método para obtener el estado civil
public boolean getCasado (){ return casado;} // // Cierre del método

// Método para obtener el número de documento único de identidad
public String getDUI (){ return DUI;} // Cierre del método

} // Cierre de las clases

Gracias, de antemano![/font]

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
 Mucho mejor!

Solo comentarte que para los valores las variables de tipo String los paréntesis "()" están de mas, aunque tu código funciona igual con o sin ellos lo correcto es tratar de que tu código sea lo mas corto y claro posible por ende, si con una sintaxis como:
Código: [Seleccionar]
String nombre = (""); se obtiene el mismo resultado que con una sintaxis como:
Código: [Seleccionar]
String nombre = ""; yo en lo personal optaría por esta ultima (mas claro simple y sencillo, menos escribir, ext...). Esto es solo un comentario constructivo, en lo general puedes estar satisfecho (yo lo estoy  ;)) con esta respuesta a este ejercicio que has presentado y puedes continuar adelante con el curso.

Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

B4rduck

  • Sin experiencia
  • *
  • Mensajes: 29
    • Ver Perfil
Venga, muy satisfecho estoy luego de haber recibido tu aprobación! Y como aprendiz, estoy abierto a todo tipo de sugerencias, críticas, comentarios y todo aquello que por el bien del aprendizaje sea bienvenido!
Tomaré en cuenta tu recomendación para futuros ejercicios...

Muy agradecido por tu ayuda!

Saludos!

Redemption

  • Sin experiencia
  • *
  • Mensajes: 7
  • Estudiante de ingeniería en sistemas
    • Ver Perfil
Hola!

Citar
// Constructor: al crear un objeto persona se jecutará el código que se incluya en el constructor.

    public Persona () {
        nombre = ("");
        apellidos = ("");
        edad = 0;
        casado = false;
        DUI = ("");
    } // Cierre de la clase

También me parece bueno aclarar que el comentario que has puesto al final de esta parte de código "// Cierre de la clase" debería ser mas bien "// Cierre del constructor", ya que la clase "Persona" en este caso se cierra al final de todo el código.
« Última modificación: 30 de Agosto 2019, 18:40 por Alex Rodríguez »
Saludos!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".