Saltar la navegación

Caso práctico. Todavía más cosas

Creando métodos

Ya tenemos claro cómo se puede usar el constructor, ahora vamos a ver cómo podemos crear métodos para la clase. Por ejemplo, el soldado puede tener un arma, así que vamos a crear otra función con la misma estructura inicial que __init__, pero ahora ya podemos darle el nombre que nos parezca correcto:
class Soldado:
   def __init__(self,nombre,raza):
      #Todo el contenido ya creado para el constructor
   def arma(self, arma):
      self.arma = arma
Es importante incluir, en el constructor, la variable arma como variable propia del objeto, aunque inicialmente no le demos valor:

Ahora, al llamar a nuestro objeto del tipo Soldado podríamos, posteriormente, darle un arma. Para ello sólo tendríamos que llamar a la función arma indicando que pertenece al objeto Soldado. Observa el siguiente código:
primer_soldado = Soldado("Eldelbar","Elfo")
primer_soldado.arma("Arco")
He creado un objeto Soldado llamado mi_primer_soldado y posteriormente he llamado a la función arma propia de la clase Soldado indicando por parámetros que el arma será un “Arco”.
Ahora podría crear todos los soldados que me diese la gana. Incorporaré la función arma a la clase Soldado y crearé unos cuantos soldados:
Al ver el ejemplo anterior observarás que crear soldados no tiene misterio, no es más que ir creando variables y asignarles como valor la clase Soldado pasando por parámetros lo que necesita esa clase para materializarse. También podemos (o no) asignarle a cada soldado su arma con la función creada para la clase Soldado llamada arma.
El mundo de la programación orientada a objetos en Python es muy extenso. Podríamos ver cómo podemos utilizar una clase para construir otro tipo de clase que tiene las mismas propiedades de la primera y algunas más (a esto se le denomina heredar de una clase). Así mismo, podríamos ver más métodos y cómo una clase puede tener dentro otra clase (por ejemplo la clase Soldado podría incluir dentro la clase Armadura). Pero realmente sería desviar la atención de lo básico y es preferible asentar un poco más cómo usar una clase.

Creado con eXeLearning (Ventana nueva)