Skip to content

Repository files navigation

🐾 Programación Orientada a Objetos con Animales

Una colección de ejemplos simples y didácticos para aprender los conceptos fundamentales de la Programación Orientada a Objetos (POO) en Python.

👥 Nuestros Protagonistas

  • 🐕 Lilo - Un perro amigable que ama a Paloma
  • 🐱 Bambú - Una gata elegante de raza Persa
  • 🐄 Lola - Una vaca trabajadora
  • 🐕‍🦺 Rex - Un perro policía muy dedicado

📚 Contenido del Curso

1️⃣ Conceptos Básicos

  • animal.py - Introducción a clases, objetos y métodos
    • Creación de clases simples
    • Instanciación de objetos
    • Métodos básicos (make_sound())

2️⃣ Atributos de Clase

  • atributo_clase.py - Diferencia entre atributos de clase e instancia
    • Contador global de animales
    • Atributos compartidos vs individuales
    • Variables estáticas

3️⃣ Visibilidad de Atributos

  • visibilidad_atributos.py - Encapsulación y niveles de acceso
    • 🟢 Público (self.name) - Accesible desde cualquier lugar
    • 🟡 Protegido (self._age) - Para uso interno y clases hijas
    • 🔴 Privado (self.__secret_id) - Solo para uso interno

4️⃣ Control de Acceso

  • getters_setters.py - Métodos para controlar el acceso a datos
    • Getters para obtener valores de forma controlada
    • Setters con validación de datos
    • Protección contra valores inválidos

5️⃣ Clases Abstractas

  • clase_abstracta.py - Moldes para otras clases
    • Métodos abstractos obligatorios (@abstractmethod)
    • Métodos concretos compartidos
    • Herencia con implementación obligatoria

6️⃣ Herencia Múltiple

  • herencia_multiple.py - Combinando múltiples comportamientos
    • Animal + Pet (mascota)
    • Animal + Pet + Worker (animal trabajador)
    • Resolución de métodos múltiples

🚀 Cómo Ejecutar los Ejemplos

# Ejecutar cualquier ejemplo
python animal.py
python atributo_clase.py
python visibilidad_atributos.py
python getters_setters.py
python clase_abstracta.py
python herencia_multiple.py

📖 Orden de Aprendizaje Recomendado

  1. Principiante: animal.pyatributo_clase.py
  2. Intermedio: visibilidad_atributos.pygetters_setters.py
  3. Avanzado: clase_abstracta.pyherencia_multiple.py

🎯 Conceptos Cubiertos

  • Clases y Objetos - Moldes y instancias
  • Atributos y Métodos - Datos y comportamientos
  • Encapsulación - Ocultamiento de datos
  • Herencia - Reutilización de código
  • Polimorfismo - Múltiples formas
  • Abstracción - Simplificación de complejidad
  • Composición - Combinación de funcionalidades

🏆 Características de los Ejemplos

  • 🐾 Temática Consistente - Todos usan animales familiares
  • 📝 Comentarios Detallados - Explicaciones línea por línea
  • 🎨 Interfaz Visual - Emojis y formato amigable
  • 📊 Ejemplos Prácticos - Casos de uso reales
  • 🔧 Código Limpio - Buenas prácticas de programación

🤝 Contribuir

¿Tienes ideas para mejorar estos ejemplos? ¡Las sugerencias son bienvenidas!


Aprende POO de la manera más divertida con nuestros amigos animales 🐕🐱🐄

About

POO Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages