Python
LENGUAJE DE PROGRAMACIÓN
Nivel avanzado
Ing. Oscar Naranjo González
Lección 4
CONTENIDO
{ 01 } - El Encapsulamiento
{ 02 } - El Polimorfismo
{ 03 } - La Abstracción
{ 01 } El Encapsulamiento
{ 01 } El Encapsulamiento
Es un principio de la programación orientada a objetos (POO)
que consiste en ocultar los detalles internos de un objeto y
restringir el acceso directo a sus datos, permitiendo solo su
manipulación a través de métodos públicos (interfaces
controladas).
Controlar el acceso de atributos y métodos internos de una
clase, utilizando para ello diferentes niveles de visibilidad
mediante el uso de modificadores de accesos.
{ 01 } El Encapsulamiento
Modificadores de accesos
• Público
• Protegido
• Privado
{ 01 } El Encapsulamiento
Modificadores de accesos
• Público
{ 01 } El Encapsulamiento
Modificadores de accesos
• Protegido
{ 01 } El Encapsulamiento
Modificadores de accesos
• Privado
{ 01 } El Encapsulamiento
Modificadores de accesos
• Privado
{ 01 } El Encapsulamiento
En Python, el encapsulamiento se logra usando convenciones
de nombres y propiedades (@property) para controlar el
acceso a los atributos de una clase.
__atributo: Nombre mangling (Python lo renombra para
evitar acceso accidental desde fuera).
{ 01 } El Encapsulamiento
Modificadores de accesos
{ 01 } El Encapsulamiento
Modificadores de accesos
{ 02 } El Polimorfismo
{ 02 } El Polimorfismo
Es un concepto clave en la POO, permite que diferentes
clases compartan el mismo método o interfaz, pero que cada
uno lo implemente de manera distinta.
Esto aporta flexibilidad y reutilización de código, ya que
permite trabajar con objetos de diferentes tipos a través de
una interfaz común.
{ 02 } El Polimorfismo
{ 02 } El Polimorfismo
{ 03 } La Abstracción
{ 03 } La Abstracción
Permite representar entidades del mundo real como
objetos con características y comportamientos
relevantes para el problema que se está resolviendo.
Esto simplifica la complejidad del Sistema al enfocarse
en aspectos esenciales y proporcionar una forma de
modelar conceptos del mundo real en el Código.
{ 03 } La Abstracción
{ 03 } La Abstracción
Tarea
ABSTRACCION
• Crear una clase abstracta: Empleado con los atributos nombre,
salario y departamento
• Definir un método abstracto calcular_bono() que cada
empleado debe implementar
Tarea
ENCAPSULAMIENTO
• Los atributos salario deben ser privados (__salario)
• Implementar métodos obtener_salario() y modificar_salario()
para acceder y modificar el salario de manera controlada
Tarea
POLIMORFISMO
• Crear subclases Gerente, Desarrollador y Diseñador, que
hereden de Empleado
• Cada subclase debe implementar calcular_bono() de manera
diferente:
• Gerente: Bono del 20% del salario
• Desarrollador: Bono del 15% del salario
• Diseñador: Bono del 10% del salario
Gracias!