1 of 14

Victor Fica León

V 1.0

Python 05: Clases

2 of 14

Temario

  1. Programación orientada a objetos
  2. Clases en python
  3. Creando instancias
  4. Accediendo a métodos y atributos
  5. Herencia
  6. Interacción con funciones
  7. Ejemplos

2

3 of 14

Programación orientada a Objetos

3

  • Paradigma de programación donde los conceptos del mundo real relevantes para nuestro problema se modelan a través de clases y objetos
  • Estos programas consisten en una serie de interacciones entre objetos.

4 of 14

Programación orientada a Objetos

4

  • Un objeto es una entidad que agrupa un estado y funcionalidad relacionados.
  • El estado del objeto se define a través de variables llamadas atributos.
  • La funcionalidad se modela a través de funciones, llamadas métodos.

5 of 14

Programación orientada a Objetos

5

  • Una clase es como una plantilla genérica a partir de la cual se crean objetos de esa clase (instancias).
  • La clase define qué atributos y métodos tendrán los objetos de esa clase.

6 of 14

Ejemplo

6

Atributos:

  • Marca
  • Color
  • Estanque
  • VelocidadMaxima

Métodos:

  • RellenarEstanque()
  • Acelerar()
  • Frenar()
  • Arrancar()

Instanciar

(crear objeto)

Valores de atributos:

  • Marca: Toyota
  • Color: Verde
  • Estanque: 50 L
  • VelocidadMaxima: 250km/hr

Métodos:

  • RellenarEstanque()
  • Acelerar()
  • Frenar()
  • Arrancar()

7 of 14

Clases en Python

7

  • Se definen mediante la palabra clave class
  • Al definir una clase se crea un nuevo espacio de nombres y se utiliza como ámbito local.

8 of 14

Clases en Python

8

  • Método __init__ : Se ejecuta cada vez que se crea un objeto de la clase.
  • Parámetro self: Es una variable especial que apunta al objeto actual

9 of 14

Creando instancias (instanciar)

9

10 of 14

Accediendo a métodos y atributos

10

11 of 14

Herencia

11

12 of 14

Herencia

12

13 of 14

Victor Fica León

victorfica@udec.cl

V 1.0

https://drive.google.com/open?id=0B5xuUMB3WNPpVFBsUzJJbk5uSFU

¿Consultas?

14 of 14

Link jupyter notebook

https://drive.google.com/open?id=0B5xuUMB3WNPpVFBsUzJJbk5uSFU