Diferencia entre revisiones de «Curso Python DGA 2011/inmersion python/contenidos/slides2»
De WikiEducator
(→La clase como arquetipo del objeto.) |
|||
| (6 revisiones intermedias por el mismo usuario no mostrado) | |||
| Línea 1: | Línea 1: | ||
{{#widget:Slides}} | {{#widget:Slides}} | ||
<div class="slides layout-regular template-default"> | <div class="slides layout-regular template-default"> | ||
| + | <div class="slide"> | ||
| + | = Inmersión en Python II= | ||
| + | == Clases y Objetos == | ||
| + | Luis Miguel Morillas <lmorillas at xml3k.org> | ||
| + | |||
| + | identi.ca: lmorillas | ||
| + | </div> | ||
<div class="slide"> | <div class="slide"> | ||
| − | |||
| − | |||
| − | |||
=== ¿Qué son? === | === ¿Qué son? === | ||
* Un objeto es una entidad que agrupa un estado y una funcionalidad relacionadas. | * Un objeto es una entidad que agrupa un estado y una funcionalidad relacionadas. | ||
| Línea 10: | Línea 14: | ||
* Una clase permite crear nuevos objetos que comparten los mismos atributos | * Una clase permite crear nuevos objetos que comparten los mismos atributos | ||
* Muy importantes para optimizar/reutilizar mejor el código | * Muy importantes para optimizar/reutilizar mejor el código | ||
| − | + | </div> | |
| − | En Python todo son objetos | + | <div class="slide"> |
| + | === En Python todo son objetos === | ||
<source lang="python"> | <source lang="python"> | ||
print (123).__class__ | print (123).__class__ | ||
| Línea 34: | Línea 39: | ||
</source> | </source> | ||
| − | </div><div class="slide"> | + | <source lang="python"> |
| + | class <Nombre de la Clase>(Clase Padre): | ||
| + | def metodo (self, parametros): | ||
| + | ... | ||
| + | </source> | ||
| + | </div><div class="slide"> | ||
| + | |||
===self=== | ===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. | + | * Explícitamente hay que usar el '''self''' al definir las clases en Python. |
| − | Pero no se usa al llamar a las clases o a los métodos. De forma automática, Python pasa la instancia del objeto. | + | * 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. | ||
| + | |||
| + | </div><div class="slide"> | ||
| − | |||
=== Clase = función=== | === Clase = función=== | ||
* Al ejecutar clase se produce un nuevo valor. | * Al ejecutar clase se produce un nuevo valor. | ||
| Línea 45: | Línea 60: | ||
* Inicializa el objeto con el método '''__init__''' | * Inicializa el objeto con el método '''__init__''' | ||
** Le pasa objeto + parámetros a la clase. | ** Le pasa objeto + parámetros a la clase. | ||
| − | |||
| − | |||
| − | |||
| − | |||
</div><div class="slide"> | </div><div class="slide"> | ||
| Línea 63: | Línea 74: | ||
print maria.saluda() | print maria.saluda() | ||
</source> | </source> | ||
| + | |||
| + | </div><div class="slide"> | ||
| + | === El método en detalle === | ||
* Primer parametro es la instancia. | * Primer parametro es la instancia. | ||
* self por convención | * self por convención | ||
| Línea 75: | Línea 89: | ||
</source> | </source> | ||
| − | </div><div class="slide"> | + | </div><div class="slide"> |
| + | |||
=== Herencia=== | === Herencia=== | ||
<source lang="python"> | <source lang="python"> | ||
| Línea 89: | Línea 104: | ||
</source> | </source> | ||
| + | |||
| + | </div><div class="slide"> | ||
| + | === Herencia con parámetros === | ||
* Si el padre necesitaba parámetros, hay que llamar a su método '''__init__''' | * Si el padre necesitaba parámetros, hay que llamar a su método '''__init__''' | ||
<source lang="python"> | <source lang="python"> | ||
| Línea 101: | Línea 119: | ||
</source> | </source> | ||
| − | </div><div class="slide"> | + | </div><div class="slide"> |
| + | |||
=== Métodos especiales === | === Métodos especiales === | ||
<source lang="python"> | <source lang="python"> | ||
| Línea 115: | Línea 134: | ||
</source> | </source> | ||
| + | </div><div class="slide"> | ||
| + | === Ejemplos de métodos especiales === | ||
<source lang="python"> | <source lang="python"> | ||
class Estudiante(object): | class Estudiante(object): | ||