Tutorial JAVA (XI)


java12.jpg

Vamos a crear nuestro primer personaje partiendo de las particularidades de la superclase Ente y añadiendo nuevas cualidades únicas de este personaje.

Abriremos nuestra aplicación Eclipse y añadiremos al proyecto en el que trabajamos una clase llamada humano.

Lo primero que modificaremos es el propio enunciado de la clase y haremos que derive de la superclase Ente.

  1. public class humano extends Ente {

Las características propias de la clase humano están recogidas en sus atributos.

  1. private int inteligencia;
  2. private int totalhumano;

La característica que le diferenciara del resto de entes será el atributo inteligencia. En el atributo totalhumano simplemente guardaremos un valor. A continuación creamos el código de los get y los set de estos dos atributos.

  1. public int getInteligencia() {
  2. return inteligencia;
  3. }
  4. public void setInteligencia(int inteligencia) {
  5. if(inteligencia<=9 && inteligencia>=1){
  6. this.inteligencia = inteligencia;
  7. }
  8. else{
  9. this.inteligencia = 1;
  10. }
  11. }

Igual que hicimos en la superclase con otros atributos en esta clase filtraremos el valor del atributo inteligencia para que en un rango del 1 al 9. El atributo totalhumano no precisa ese filtro porque su valor viene dado por un cálculo que realizamos mas adelante.

  1. public int getTotalhumano() {
  2. return totalhumano;
  3. }
  4. public void setTotalhumano(int totalhumano) {
  5. this.totalhumano = totalhumano;
  6. }

Por ultimo desarrollamos el constructor de esta clase. El primer problema que nos surge cuando tratamos de escribir el constructor de la clase hombre es que previamente debemos construir un objeto de la clase Ente. Este problema lo solucionamos haciendo una llamada al método super().

Mediante el método super() llamamos al constructor de la superclase o clase base, por tanto la llamada a super() deberá estar siempre en la primera línea del constructor de la subclase o clase derivada. En otros lenguajes esta llamada se realiza con la expresión MyClass().

De modo que nuestro constructor comenzara de la siguiente manera:

  1. public humano() {
  2. super("humano");

Como el constructor de la superclase, clase Ente, tenía un parámetro del tipo String le pasamos en ese parámetro el personaje que esta construyendo, en este caso un humano.

A continuación pediremos a los usuarios que nos indiquen que valor tendrá el atributo inteligencia del personaje:

  1. System.out.println("Del 1 al 9 que inteligencia tendra este humano");
  2. setInteligencia(sc.nextInt());

Un aspecto destaca en estas líneas de código y es que no hemos realizado la importación de import java.util.*; ni hemos escrito la típica sentencia de Scanner sc=new Scanner(System.in); y en cambio el editor no nos indica error alguno. Tal y como se adivina no es preciso realizar estas declaraciones ya que están incluidas en la clase base o superclase y la subclase las hereda. Una ventaja añadida.

Para terminar nuestro constructor multiplicaremos el valor potencia de la superclase que como recordamos estaba compuesto por la multiplicación entre fuerza, velocidad, agilidad y suerte, por el valor obtenido en el atributo inteligencia y este valor final es el que pasaremos al atributo totalhumano.

  1. setTotalhumano(super.getPotencia()* getInteligencia());
  2. }

Como observamos para llamar a cualquier elemento de la superclase utilizaremos la palabra reservada super.

Cuando ejecutemos este código conseguiremos un valor final para el humano y haremos el mismo proceso con otros dos entes. Cuando se enfrenten entre ellos el ente que tenga un valor mayor será el que venza.

humano.jpg

El código de este humano quedaría como sigue:

  1. public class humano extends Ente {
  2. private int inteligencia;
  3. private int totalhumano;
  4. public int getInteligencia() {
  5. return inteligencia;
  6. }
  7. public void setInteligencia(int inteligencia) {
  8. if(inteligencia<=9 && inteligencia>=1){
  9. this.inteligencia = inteligencia;
  10. }
  11. else{
  12. this.inteligencia = 1;
  13. }
  14. }
  15. public int getTotalhumano() {
  16. return totalhumano;
  17. }
  18. public void setTotalhumano(int totalhumano) {
  19. this.totalhumano = totalhumano;
  20. }
  21. public humano() {
  22. super("humano");
  23. System.out.println("Del 1 al 9 que inteligencia tendra este humano");
  24. setInteligencia(sc.nextInt());
  25. setTotalhumano(super.getPotencia()* getInteligencia());
  26. }
  27. }

En el próximo post desarrollaremos dos nuevos personajes.

Enlaces interesantes

  • Página oficial de Java en español





Opiniones sobre Tutorial JAVA (XI)

Hace 14 años y 8 meses

no se ve hola,me gusta su tutorial y me parece en ezceso interesante pero no se si ya se habran dado cuenta pero las paginas no se ven completas les falta parte del lado izquierdo, osera que es solo en mi pc.
por fa hagan algo al respecto....gracias.


Hace 14 años y 8 meses

Hola Gabriela:
Yo veo la página completa y sin problemas, y por ahora nadie más ha comentado nada al respecto.
Quizá seria interesante que vieses la pagina desde el ordenador de algún amigo/a para ver que tal.
Saludos.



Opina sobre Tutorial JAVA (XI)

Nombre:

Tu email:

Página web (si tienes):

Opinar:

Escoge el recuadro negro: para evitar spam