PDF de programación - Python: Programación Orientada a Objetos

Imágen de pdf Python: Programación Orientada a Objetos

Python: Programación Orientada a Objetosgráfica de visualizaciones

Actualizado el 28 de Julio del 2017 (Publicado el 14 de Enero del 2017)
8.507 visualizaciones desde el 14 de Enero del 2017
333,0 KB
51 paginas
Creado hace 15a (13/04/2009)
Python: Programación Orientada

a Objetos
a Objetos

JESSE PADILLA AGUDELO
Ingeniero Electrónico

Licencia de la Presentación

Python Manizales - Jesse Padilla Agudelo

3

Objetivos

• Dar un repaso general a la Programación
comprendiendo de
como
Herencia,
Herencia,

Orientada a Objetos,
manera
Objetos,
Objetos,
polimorfismo, etc.

Clases, Métodos,
Clases, Métodos,

general

conceptos

tales

• Conocer e implementar cada uno de los
conceptos claves de la POO usando Python
como lenguaje de programación.

Python Manizales - Jesse Padilla Agudelo

4

Introducción

• Hoy en día la POO es un paradigma de
programación fundamental para el desarrollo de
cualquier tipo de aplicación, por eso hoy en día se
la mayoría de los lenguajes de alto nivel (Como
Java, C#, C++ entre otros)
soportan este
Java, C#, C++ entre otros)
soportan este
paradigma y buscan explotarlo al máximo, Python
paradigma y buscan explotarlo al máximo, Python
no es la excepción de hecho en Python trabajar
con POO es muy fácil y agradable. Razón por la
cual durante esta presentación analizaremos de
forma detallada las virtudes de Python a la hora
de desarrollar software bajo este paradigma.

Python Manizales - Jesse Padilla Agudelo

5

Índice

1. Conceptos de Programación Orientada a Objetos
2. Python: Clases y Objetos
3. Python: Herencia
4. Python: Herencia Múltiple
4. Python: Herencia Múltiple
5. Python: Polimorfismo
6. Python: Encapsulación
7. Python: Clases de Nuevo Estilo
8. Python: Métodos Especiales

Python Manizales - Jesse Padilla Agudelo

6

POO – Programación Orientada a

Objetos

• La programación orientada a objetos es un
paradigma de programación que busca
representar entidades u objetos agrupando
representar entidades u objetos agrupando
datos y métodos que puedan describir sus
características y comportamiento.

Python Manizales - Jesse Padilla Agudelo

7

POO– Programación Orientada a

Objetos

• La POO paradigma de programación en el que
los conceptos del mundo real relevantes para
nuestro problema se modelan a través de
nuestro problema se modelan a través de
clases y objetos, y en el que nuestro programa
consiste en una serie de interacciones entre
estos objetos.

Python Manizales - Jesse Padilla Agudelo

8

Ventajas de la POO

• Fomenta la reutilización y extensión del código.
• Permite crear sistemas más complejos.
• Relacionar el sistema al mundo real.
• Facilita la creación de programas visuales.
• Facilita la creación de programas visuales.
• Construcción de prototipos
• Agiliza el desarrollo de software
• Facilita el trabajo en equipo
• Facilita el mantenimiento del software

Python Manizales - Jesse Padilla Agudelo

9

Modelo Orientado a Objetos

• Para entender la POO vamos a revisar unos

conceptos básicos:
1. Objeto
2. Clase
2. Clase
3. Mensaje
4. Método
5.
Interfaz
6. Herencia

Python Manizales - Jesse Padilla Agudelo

10

POO: El Objeto

• Un objeto es una unidad que engloba en sí

mismo características y comportamiento
necesarias para procesar información. Cada
objeto contiene datos y funciones. Y un
objeto contiene datos y funciones. Y un
programa se construye como un conjunto de
objetos, o como un único objeto.

Python Manizales - Jesse Padilla Agudelo

11

POO: El Objeto

• Ejemplo

– Carro BMW

• Características

– 4 Ruedas Micheline
– 4 Ruedas Micheline
– Motor BMW
– Caja de cambios de 7 Velocidades
– Color Azul
– 2 Espejos

Python Manizales - Jesse Padilla Agudelo

12

POO: La Clase

• La clase es un modelo o prototipo que define
las variables y métodos comunes a todos los
objetos de cierta clase. También se puede
decir que una clase es una plantilla genérica
decir que una clase es una plantilla genérica
para un conjunto de objetos de similares
características.

Python Manizales - Jesse Padilla Agudelo

13

POO: La Clase

• Ejemplo:

– Clase Vehículo

– Numero de Ruedas
– Tipo de Motor
– Capacidad del Tanque de Gasolina
– Numero de Velocidades de la Caja de Cambios
– Color

Python Manizales - Jesse Padilla Agudelo

14

POO: Mensaje

• El mensaje es el modo en que se comunican

los objetos entre si.

• Ejemplo:

– Cuando llamemos a una función de un objeto,
– Cuando llamemos a una función de un objeto,
diremos que estamos enviando un mensaje a ese
objeto.

Python Manizales - Jesse Padilla Agudelo

15

POO: Método

• Un Método es en POO se encarga de procesar
los mensajes que lleguen a un objeto, un
método no es otra cosa que una función o
procedimiento perteneciente a un objeto.
procedimiento perteneciente a un objeto.

Python Manizales - Jesse Padilla Agudelo

16

POO: Interfaz

• Las clases y por lo tanto también los objetos,
tienen partes públicas y partes privadas.
Algunas veces llamaremos a la parte pública
de un objeto su interfaz. Se trata de la única
de un objeto su interfaz. Se trata de la única
parte del objeto que es visible para el resto de
los objetos, de modo que es lo único de lo que
se dispone para comunicarse con ellos.

Python Manizales - Jesse Padilla Agudelo

17

POO: Herencia

• La herencia es uno de los conceptos más
cruciales en la POO. La herencia básicamente
consiste en que una clase puede heredar sus
variables y métodos a varias subclases. Esto
variables y métodos a varias subclases. Esto
significa que una subclase, aparte de los
atributos
tiene
y métodos
incorporados
heredados de la superclase.

y métodos

propios,

los

atributos

Python Manizales - Jesse Padilla Agudelo

18

Python: Clases y Objetos

• Python está completamente orientado a
objetos: puede definir sus propias clases,
heredar de las que usted defina o de las
incorporadas en el lenguaje, e instanciar las
clases que haya definido.
clases que haya definido.

• En Python las clases se definen mediante la
palabra reservada class seguida del nombre
de la clase, dos puntos (:) y a continuación,
indentado, el cuerpo de la clase.

Python Manizales - Jesse Padilla Agudelo

19

Python: Clases y Objetos

• Ejemplo:

class Ejemplo:

pass

#1
#2

• En este ejemplo el nombre de la clase es Ejemplo
• En este ejemplo el nombre de la clase es Ejemplo
y no hereda de otra clase. Por convención las
clases empiezan en Mayúscula.

• Esta clase no define atributos pero no puede
estar vacía para eso usamos la función pass,
equivalente en otros lenguajes a usar {}

Python Manizales - Jesse Padilla Agudelo

20

POO en Python: el método __init__

Las clases de Python no tienen constructores o
destructores explícitos. Las clases de Python tienen algo
similar a un constructor: el método __init__.

Python Manizales - Jesse Padilla Agudelo

21

POO en Python: el método __init__

• __init__ se llama inmediatamente tras crear una instancia

de la clase.

• Sería tentador pero incorrecto denominar a esto el
constructor de la clase. Es tentador porque parece igual a
un constructor (por convención, __init__ es el primer
método definido para la clase), actúa como uno (es el
método definido para la clase), actúa como uno (es el
primer pedazo de código que se ejecuta en una instancia de
la clase recién creada), e incluso suena como uno.
Incorrecto, porque el objeto ya ha sido construido para
cuando se llama a __init__, y ya tiene una referencia válida
a la nueva instancia de la clase. Pero __init__ es lo más
parecido a un constructor que va a encontrar en Python, y
cumple el mismo papel.



Python Manizales - Jesse Padilla Agudelo

22

POO en Python: el método __init__

• El primer atributo o variable de cada método de clase,
incluido __init__, es siempre una referencia a la
instancia actual de la clase.

• Por convención, este argumento siempre se denomina
self. En el método __init__, self se refiere al objeto
self. En el método __init__, self se refiere al objeto
recién creado; en otros métodos de la clase, se refiere
a la instancia cuyo método ha sido llamado.
• Los métodos __init__ pueden tomar

cualquier
cantidad de argumentos, e igual que las funciones,
éstos pueden definirse con valores por defecto,
haciéndoles opcionales para quien invoca.

Python Manizales - Jesse Padilla Agudelo

23

POO en Python: el método __init__

• Por

el primer

convención,

argumento de
cualquier clase de Python (la referencia a la
instancia) se denomina self.

• Cumple el papel de la palabra reservada this en
C++ o Java, pero self no es una palabra reservada
C++ o Java, pero self no es una palabra reservada
en Python, sino una mera convención.

• Aunque necesita especificar

self de forma
explícita cuando define el método, no se
especifica al invocar el método; Python lo añadirá
de forma automática.

Python Manizales - Jesse Padilla Agudelo

24

POO en Python: Instanciación de las

Clases

• Crear un objeto o instanciar una clase en
Python es muy sencillo. Para instanciar una
clase, simplemente se invoca a la clase como
si fuera una función, pasando los argumentos
si fuera una función, pasando los argumentos
que defina el método __init__. El valor de
retorno será el objeto recién creado.

Python Manizales - Jesse Padilla Agudelo

25

POO en Python: Instanciación de las

Clases

Python Manizales - Jesse Padilla Agudelo

26

POO en Python: Borrar Objetos

• Crear instancias nuevas es sencillo, destruirlas
lo es más. En general, no hay necesidad de
instancias,
liberar de forma explícita las
porque se eliminan automáticamente cuando
porque se eliminan automáticamente cuando
las variables a las que se asignan salen de
ámbito. Son raras las pérdidas de memoria en
Python.

Python Manizales - Jesse Padilla Agudelo

27

POO con Python: Atributos de datos

• Python admite atributos de datos (llamados variables de

instancia en Java, y variables miembro en C++).

• Para hacer referencia a este atributo desde código que esté
fuera de la clase, debe calificarlo con el nombre de la
instancia,
instancia.data, de la misma manera que
calificaría una función con el nombre de su módulo.
calificaría una función con el nombre de su módulo.

• Para hacer referencia a atributos de datos desde dentro de
la clase, use self
  • Links de descarga
http://lwp-l.com/pdf437

Comentarios de: Python: Programación Orientada a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad