Añadimos más características a nuestros Soldados
Ya tenemos unas nociones básicas de clases, ahora bien, el constructor sigue un poco huérfano. Vamos a incorporar, además de un nombre y una raza, una vida y una velocidad de movimientos, así como un coste de entrenamiento para incorporarlo a nuestro ejército. El problema es que un elfo, un humano o un enano no se mueven igual ni tienen la misma vida (entiéndase vida como capacidad para sobrevivir en una refriega). Intenta entender el siguiente código antes de continuar:
Como verás, al crear el constructor hemos pasado dos parámetros que harán al objeto único, o al menos tendrá el nombre y raza que queramos, podrían ser iguales varios objetos si como usuarios le damos la misma raza y nombre. Así mismo, tendrá una serie de propiedades que serán iguales para todos los objetos que tengan una misma raza. Los elfos tendrán una vida, una velocidad y un coste diferente a los humanos, y los enanos diferente a elfos y humanos.
Esto pinta bastante bien. Seguro que has jugado a algún juego de estrategia de los antiguos, en los cuales tenías tres o cuatro tipos de tropas y venga a crear orcos, elfos, o cualquier fantástica raza. Fíjate que con esta pequeña introducción ya tendríamos para crear soldados e ir utílizándolos con sus valores internos. Utilicemos el código anterior para crear un objeto Soldado con raza Elfo e imprimamos, además de su nombre y raza, su vida, velocidad y coste. Guarda el siguiente código como script y ejecútalo antes de seguir:
Si te fijas, al final del todo he impreso el tipo de la variable mi_primer_soldado, y Python nos indica que es una variable objeto de la clase Soldado. Es decir, para guardar los objetos que creamos también usamos variables (al fin y al cabo en algún sitio se tendrá que almacenar el objeto creado).