Curso de Java. Volumen XXI: Solución del ejercicio planteado en el volumen XX

Escrito por Adrián Crespo
Java
4

En esta entrega vamos a daros la solución del ejercicio que se planteó en el volumen XX.

Como recordaréis, antes de plantearos este ejercicio nos centramos durante un tiempo en la herencia y el polimorfismo y todo lo relacionado con estos dos aspectos de Java, muy útiles a la hora de programar.

Por si se os ha olvidado de lo que iba el ejercicio que se planteó a continuación os dejo el enlace para lo que quieran hacer memoria antes de empezar a mirar la corrección del ejercicio que voy a plantear.

Ejercicio propuesto en el volumen XX

Ahora vamos a centrarnos con la solución del problema planteado.

Lo primero de todo vamos a hacer la clase principal, es decir la clase de la cual dependen las otras dos, la clase Usuario.

Como observáis, esta clase no tiene ningún tipo de complejidad y como va a ser la clase que jerárquicamente esté por encima de las otras dos y no va a haber ninguna más por encima de ella de la cual haya que heredar métodos o atributos, el constructor es simple.

Ahora vamos con las clases hijas, primero con la clase Moderadores.

Pensaréis que faltan muchos métodos y que la clase esta incompleta, pero no es así. Todos los métodos que necesita, así como los atributos los puede coger de la clase de la cual extiende, es decir, Usuario.

Nota: como pongo en un comentario, es importante que la llamada a la superclase sea la primera en el constructor, ya que si no, no compilará.

Vamos ahora con el cógido de la clase de los Administradores.

Como estáis viendo, en las clases hijas únicamente se declaran y se crean los métodos que no posean la subclase.

Pero os voy a dejar en el aire una cuestión, como podéis ver, falta un método en los administradores, el que cambia el nombre de usuario. Si os paráis a pensar es que lo más lógico hasta ahora es crearle en la clase Administradores, pero ¿creéis que funcionaría?

La respuesta es no, por una sencilla razón, el atributo nick de la clase Usuario es privado y no tenemos visibilidad sobre él. Podemos hacer varias cosas pero la más correcta es incluir el método en la clase Usuario.

Hasta aquí la solución del ejercicio propuesto.

En la siguiente entrega del curso de Java de RedesZone seguiremos con las interfaces gráficas (GUIs) y continuaremos explicando el funcionamiento de los JFrame de Java.


Noticias relacionadas

Comentarios


4 comentarios
  1. Nacho Hernandez 17 Oct, 11 20:51

    Enhorabuena por tu curso Adrian,explicado para gente normal,despues de leer y leer tutoriales y libros,me estoy enterando de la mayoria de las cosas,y me esta gustando mas aprender Java,un saludo y gracias

    Responder
    0
    1. Adrián Crespo 17 Oct, 11 21:13

      de nada!! 🙂

      Responder
      0
    2. Sergio De Luz 17 Oct, 11 23:08

      Es un crack!!

      Me alegro que te empiece a gustar Java…a mí es el único lenguaje que me gusta de verdad.

      Responder
      0
  2. anonimous 03 Abr, 13 16:57

    Comentar un par de cosas que me parecen interesantes:

    1.- En la clase Administradores podríamos extender a la clase Moderadores, en lugar de a la clase Usuarios. Así, nos ahorraríamos tener que repetir el método incrementaEliminados() y su atributo respectivo (eliminados).

    2.- Con respecto a la visibilidad del atributo nick, en lugar, y el método cambiaNick(String), podríamos poner un método protected en la clase usuario que nos permita modificar dicho atributo y, después, en la clase Administradores sobrescribir dicho método haciéndolo público como sigue:

    public class Usuarios {
    //Atributos

    private nick;

    //Metodos

    protected void cambiaNick( String nuevoNick ) {

    nick=nuevoNick;

    }

    }

    public class Administradores extends Moderadores {

    public void cambiaNick( String nuevoNick ) {

    super.cambiaNick(nuevoNick);

    }

    }

    Responder
    0