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.