Curso Python DGA 2011/inmersion python/contenidos/slides2

= Inmersión en Python II=

Clases y Objetos
Luis Miguel Morillas &lt;lmorillas at xml3k.org&gt;

identi.ca: lmorillas

¿Qué son?

 * Un objeto es una entidad que agrupa un estado y una funcionalidad relacionadas.
 * En Python un objeto es un conjunto de atributos
 * Una clase permite crear nuevos objetos que comparten los mismos atributos
 * Muy importantes para optimizar/reutilizar mejor el código

En Python todo son objetos
Y todo objeto tiene una clase.

self

 * Explícitamente hay que usar el self al definir las clases en Python.
 * Se refiere a la instancia concreta del objeto.
 * Aparecerá como primer parámetro en la definición de los métodos.
 * Pero no se usa al llamar a las clases o a los métodos.
 * De forma automática, Python pasa la instancia del objeto.

Clase = función

 * Al ejecutar clase se produce un nuevo valor.
 * El objeto tiene los mismos atributos que la clase salvo el operador
 * Inicializa el objeto con el método __init__
 * Le pasa objeto + parámetros a la clase.

El método en detalle
Ejemplo: self._atributo
 * Primer parametro es la instancia.
 * self por convención
 * Todas las clases heredan de object
 * Los atributos pueden añadirse, borrarse, modificarse, en cualquier momento
 * En Python todo es público
 * Por convención, lo privado empieza por _
 * ¡Python no es Java!: No "setters" y "getters"

Herencia con parámetros

 * Si el padre necesitaba parámetros, hay que llamar a su método __init__

Ejemplos de métodos especiales
Inmersión en Python