[PYTHON] Tutorial de clases en Python

Iniciado por TheCrimulo, 9 Diciembre 2014, 18:09 PM

0 Miembros y 1 Visitante están viendo este tema.

TheCrimulo

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.

Código (python) [Seleccionar]
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:

Código (python) [Seleccionar]
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:
Código (python) [Seleccionar]
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 HERENCIA

Código (python) [Seleccionar]
class 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:
Código (python) [Seleccionar]
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
Código (python) [Seleccionar]
print "¡Buenos días mundo!"
Código (c#) [Seleccionar]
System.WriteLine("¡Callate!");