Tener todo en un archivo es complicado, y más si es un proyecto largo, pero para algo estan las
CLASES.
Para hacer una clase necesitamos un nivel de conocimiento medio/bajo, saber que hace
def y un poco de lo demás.
Empezaremos creando una clase que cada vez que sea como un humano.
class Persona: #Siempre es necesario poner (self,opcional) en los parametros de la funcion.
def __init__(self,edad): #Esto se ejecutara cada vez que lo instanciemos.
self.edad = 19 #La edad base sera 19.
def hablar(self,texto):
print texto #Cuando se llame a la funcion, dira lo que pongamos.
Con esto haremos nuestra clase, pero ahora hay que instanciarla de esta manera:
Paco = Persona(36) #Ponemos los años, en este caso, 36.
Y podremos hacer cosas con ella, por ahora solo hablar, pero ya le añadiremos más.
Hablar:
Paco.hablar('Hola, me llamo Paco y tengo ', Paco.edad, 'años'
Ahora, haremos dos clases nuevas que harán lo mísmo que humano, pero con más funciones, a esto se le llama
HERENCIAclass Programador(Persona): #Con (Persona) heredamos de ella, y si persona heredara de otra clase, Programador lo tendría, se llama Herencia Multiple
def programar(self,lenguaje):
print 'Voy a programar en ', lenguaje
class Cocinero(Persona):
def cocinar(self,comida):
print 'Voy a cocinar ', comida
class Estudioso(Cocinero,Programador): #Esto hereda de Cocinero y Programador a la vez, es una herencia multiple, pues estos dos heredan de Persona
def Estudiar(self,tema):
print 'Voy a estudiar ', tema
Ahora Cocinero y Programador heredan de Persona y Estudioso puede hacer lo que los dos hacen.
Instanciando:
Paco = Programador(36) #Como sigue heredando de Persona, hay que poner la edad
Pedrito = Cocinero(31)
Ricardo = Estudioso(26) #Ricardo hereda de Cocinero y de Programador, estos dos de Persona, como habreis adivinado, ¡La edad!
Ahora Pedrito puede hacer Pedrito.hablar('LALAL') y Pedrito.cocinar('Ensalada')
Paco, Paco.hablar('LELEL') y Paco.programar('C++')
Pero Ricardo puede hacer:
Ricardo.hablar('LULUL')
Ricardo.programar('Java')
Ricardo.cocinar('Pavo con verduritas')
Espero que les haya sido útil,
Un saludo,
TheCrimulo