Programación Orientada a Objetos
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.
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.
Definición de POO, clases y objetos.
Uso de if, else y elif para tomar decisiones en el flujo del programa.
Uso de bucles for y while para iterar sobre colecciones y realizar acciones repetitivas.
Uso de atributos privados y métodos para proteger la información de los objetos.
Definición de métodos especiales para sobrecargar operadores en clases.
Uso de constructores para inicializar objetos y destructores para liberar recursos.
Ejemplos de asociación, agregación y composición entre clases. Gestión de estudiantes, profesores y cursos.
Ejemplos de herencia y polimorfismo en POO. Clases base y derivadas.
Ejemplos de polimorfismo en POO. Métodos y clases abstractas.
Introducción a la programación gráfica con Python y OpenGL.
Su uso nos permite reutilizar una misma lógica para trabajar con distintos tipos de datos de forma flexible.
Conjunto de buenas prácticas de diseño que buscan crear software más mantenible, escalable y fácil de entender.
Calculadoras, figuras geométricas y otros problemas variados de POO.
Introducción a POO que ejemplifica la creación y uso de objetos, permitiendo registrar un coche, mostrar sus datos y simular su arranque.
Utilizando condicionales, este script determina si la edad ingresada corresponde a una persona mayor o menor de edad mediante una verificación sencilla.
Permite ingresar números, validarlos y clasificarlos como pares, impares o nulos usando bucles.
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 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 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.
Mostramos como una universidad puede contener varios departamentos mediante la asociación entre objetos.
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 de polimorfismo que permite invocar el mismo método en distintos tipos de pago, obteniendo un comportamiento específico según el objeto utilizado.
Permite renderizar gráficos 2D básicos mediante primitivas de OpenGL, utilizando coordenadas, colores y funciones de dibujo para representar formas en pantalla.
Permite gestionar errores durante una operación matemática, controlando excepciones y garantizando la ejecución de acciones finales independientemente del resultado.
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.
Aplica los principios SOLID al separar responsabilidades, permitir extensiones mediante herencia y depender de abstracciones para calcular el factorial de forma flexible y mantenible.
# 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