POO Python
POO Python
Que es
La Programación
Orientada a Objetos
La Programación Orientada a
Objetos (POO) es un paradigma de
programación que organiza el código en
(POO)
torno a objetos y clases. En Python,
este paradigma se utiliza para modelar
el mundo real mediante la creación de
clases que contienen
tanto datos (atributos)
como comportamientos (métodos).
Que es
La Programación
Clases y Objetos
Molde
Class
Orientada a Objetos
Template
(POO)
Objeto
s
Conceptos Clave de Programación Orientada a Objetos
Los tipos de estadística se puede subdividir en dos grandes ramas: descriptiva e
inferencial.
1.Clases y objetos: Las clases son plantillas para crear objetos que contienen atributos y
métodos.
4.Polimorfismo: Diferentes clases pueden definir métodos con el mismo nombre pero
comportamiento diferente.
Abstracción
En el ejemplo anterior:
Constructor
init
• Un constructor es un método (función) de nombre __init_______ que se ejecuta cada vez que se crea un objeto de la clase
• Todos los métodos de la clase, reciben como primer parámetro self
• self (‘yo mismo’) es una referencia al objeto actual, al objeto mismo que ejecuta el método
4. Encapsulamiento
El encapsulamiento es el proceso de ocultar los detalles internos del objeto y exponer solo lo necesario. Python
utiliza convenciones para indicar la visibilidad de los atributos y métodos.
•Los atributos o métodos que comienzan con un guion bajo (_atributo) se consideran internos y no deberían ser
accedidos directamente fuera de la clase.
•Si comienzan con dos guiones bajos (__atributo), Python los "manglará" para hacerlos aún más difíciles de
acceder fuera de la clase.
5. Herencia
La herencia permite que una clase herede atributos y métodos de otra clase. Esto promueve la reutilización del código.
Python.
Herencia
• La herencia es la capacidad que tiene una clase de
heredar los atributos y métodos de otra, algo que nos Clase Base
permite reutilizar código y hacer programar mucho más
óptimos. Clase Padre
Clase Derivada
Clase Hija
clase Padre
Heren
cia
ejempl clase Hija
o
Uso del nombre de la clase Padre
• Para acceder a los miembros de la clase padre
• Es necesario cuando en la clase hija existen miembros con el mismo
nombre
Herencia
super()
• Para acceder a los
miembros de la clase
Padre.
• Se evita incluir self
Clase A
Herencia a()
(situacion
es)
Clase A Clase B Clase C
a() b() c()
Clase B
b()
Clase C
c()
Herencia múltiple
Clase A Clase B
a() b()
Clase C
c()
Herencia
Métodos
importantes
• isinstance(obj, int)
• issubclass(bool, int)
6. Polimorfismo
El polimorfismo permite que diferentes clases respondan de manera diferente a un
mismo método. En el ejemplo anterior, tanto el Perro como el Gato tienen un
método hablar, pero el comportamiento es diferente en cada clase.
7. Abstracción
La abstracción se refiere a ocultar los detalles de implementación y mostrar solo la funcionalidad esencial.
Esto se puede lograr mediante clases abstractas y métodos abstractos.
Para crear clases abstractas en Python, se usa el módulo abc: