🐍 LP2 - POO en Python

Programación Orientada a Objetos

Python 3.13 Universidad Nacional del Altiplano Lenguaje de Programación II
Scroll

👤 Sobre mi

Mi nombre es Darwin Reynolds, estudiante de Ingeniería Estadística e Informática en la Universidad Nacional del Altiplano. Actualmente llevo cursando la asignatura de Lenguaje de Programación II, donde mi objetivo central es mejorar mis capacidades en POO, también me profundizo en el diseño y analisis de algoritmos.

Tengo un marcado interés por la programación, la ingeniería de software y la ciencia de datos. Todo esto me motiva a comprender cómo los algoritmos, la automatización y el procesamiento de información pueden optimizar procesos.

Busco consolidar mis competencias en desarrollo de sistemas, análisis de datos y modelamiento computacional, con el propósito de aportar al avance tecnológico mediante soluciones innovadoras y eficientes.

📚 Sobre el Repositorio

Este repositorio contiene ejemplos y ejercicios prácticos de Programación Orientada a Objetos (POO) en Python, desarrollados durante el curso de Lenguaje de Programación II.

El objetivo es mostrar conceptos clave de POO como encapsulamiento, herencia, polimorfismo y relaciones entre clases, aplicados en distintos contextos y problemas.

Cada carpeta del repositorio contiene ejemplos bien documentados y ejercicios que demuestran la aplicación práctica de estos principios fundamentales de la programación orientada a objetos.

🎯 Temas Cubiertos

📁 Estructura del Repositorio

🚀 Proyectos

🖥️ Ejemplos

Ejemplo 01
🔍︎
Introduccion
01-coche

Introducción a POO que ejemplifica la creación y uso de objetos, permitiendo registrar un coche, mostrar sus datos y simular su arranque.

Ejemplo 06
🔍︎
Condicionales
06-Persona

Utilizando condicionales, este script determina si la edad ingresada corresponde a una persona mayor o menor de edad mediante una verificación sencilla.

Ejemplo 22
🔍︎
Bucles
22-ParImparWhile

Permite ingresar números, validarlos y clasificarlos como pares, impares o nulos usando bucles.

Ejemplo 28
🔍︎
Encapsulamiento
28-AreaCirculo

Ejemplo de encapsulamiento que protege el atributo radio mediante métodos de acceso y permite calcular el área y el perímetro de la figura.

Ejemplo 43
🔍︎
Método Operador
43-CuentaBancaria

Ejemplo de método operador que sobrecarga el operador de resta para permitir aplicar descuentos al saldo de una cuenta bancaria de forma controlada y validada.

Ejemplo 51
🔍︎
Constructor y Destructor
51-Producto

Ejemplo que ilustra el uso de constructor y destructor, creando objetos que registran información al instanciarse y mostrando un mensaje al ser eliminados del programa.

Ejemplo 56
🔍︎
Relaciones de Clase
56-Departamentos

Mostramos como una universidad puede contener varios departamentos mediante la asociación entre objetos.

Ejemplo 56
🔍︎
Herencia
68-Person

Ejemplo de herencia múltiple que combina atributos y comportamientos de varias clases base para crear un objeto con múltiples roles y funcionalidades integradas.

Ejemplo 56
🔍︎
Polimorfismo
78-Pagos

Ejemplo de polimorfismo que permite invocar el mismo método en distintos tipos de pago, obteniendo un comportamiento específico según el objeto utilizado.

Ejemplo 81
🔍︎
Programación Gráfica
81-GL_UNA

Permite renderizar gráficos 2D básicos mediante primitivas de OpenGL, utilizando coordenadas, colores y funciones de dibujo para representar formas en pantalla.

Ejemplo 92
🔍︎
Manejo de Excepciones
92-Cero

Permite gestionar errores durante una operación matemática, controlando excepciones y garantizando la ejecución de acciones finales independientemente del resultado.

Ejemplo 100
🔍︎
Programación Genérica
100-Fact

Aplica programación genérica para definir una estructura reutilizable que admite distintos tipos numéricos y ejecuta una misma lógica de cálculo de forma segura y consistente.

Ejemplo 107
🔍︎
Principios SOLID
107-CalculadoraFactorial

Aplica los principios SOLID al separar responsabilidades, permitir extensiones mediante herencia y depender de abstracciones para calcular el factorial de forma flexible y mantenible.

📝 Cómo Usar

# Clonar el repositorio git clone https://github.com/ReynoldsDarwin/LP2-POO.git # Navegar al directorio cd LP2-POO # Ejecutar cualquier ejemplo python: RelacionesDeClase/58-Estudiante.py