jueves, 25 de septiembre de 2014

Tutorial de Python parte 16 - La Herencia




Continuando con la Programación Orientada a Objetos, en este capítulo vemos el concepto Herencia.

La Herencia permite que otra/s clase/s puedan heredar las propiedades y métodos de una clase. Esto permite la reutilización de código, ya que como veremos en el ejemplo de este capítulo la clase Persona() que creamos en el capítulo anterior y que define las características básicas de una persona, se puede adaptar a la perfección a una clase que defina  las características de un deportista.

Para que una clase pueda heredar las cualidades de otra, simplemente pasaremos el argumento a la clase correspondiente, ...


from modulos.persona import Persona

class Deportista(Persona):
   #Resto de codigo de la clase


En este capítulo del vídeo tutorial se muestra como creamos un módulo llamado deportista.py en la carpeta modulos que ya hemos visto en capítulos anteriores, en el cual creamos una clase llamada Deportista() la cual heredará las propiedades y métodos de la clase Persona().

Código de modulos/deportista.py ...

from modulos.persona import Persona

class Deportista(Persona):
 
 def deporte(self, deporte):
  return deporte
  
 def detener(self):
  return "El deportista esta detenido"
  
 def correr(self):
  return "El deportista esta corriendo"
  
 def saltar(self):
  return "El deportista esta saltando"
  
 def nadar(self):
  return "El deportista esta nadando" + self.__metodo()
  
 #Metodo privado
 def __metodo(self):
  return "Este es el contenido de este metodo privado"
 


Código del script deportista.py donde importamos la nueva clase Deportista(), creamos la instancia y accedemos a los métodos y propiedades ...

from modulos.deportista import Deportista

deportista = Deportista()

print("\n\n **** DEPORTISTA **** \n\n")
print("Nombre:", deportista.nombre("Dade"))
print("Pais:", deportista.pais("Peru"))
print("Edad:", deportista.edad(22))
print("Sexo:", deportista.sexo[0])
print("Estatura:", deportista.estatura(1.80))
print("Peso:", deportista.peso(70))
print("Deporte:", deportista.deporte("Atletismo"))
print(deportista.correr())
print(deportista.detener())
print(deportista.saltar())
print(deportista.nadar())