Tutorial JAVA (XI)

509 artículos, 3.651 opiniones y 2.444 usuarios desde 2006



Tutorial JAVA (XI)

Por francisco | 30 de Octubre del 2007

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


Valoración

Opina ahora sobre este artículo

MilBits

¿Te ha gustado? Recibe lo más interesante sobre informática en tu email:


Artículos relacionados


Opiniones

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.

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.


Comparte tu opinión

Tu opinión es importante para todos nosotros.

*

*

Ej: http://www.milbits.com/

*



Temas relacionados


Enlaces hacia este artículo

Tutorial JAVA XII (06/11/2007)
[...] modo que pondremos el código de ambas clases y la explicación que dábamos en el post JAVA (XI) servirá para ambas [...]


© 2007 - 2010 RedAccenir, S.L. | Información legal | Alojado en Ferca Networks