Cursos Coulex
  • Nuestra Web
  • Python

    • Introducción a Python
    • Lectura y Escritura de Archivos
    • Bucles en Python (for y while)
    • Estructuras Condicionales (if-else)
    • Conjuntos (sets) en Python
    • Diccionarios en Python
    • Funciones en Python
    • Listas en Python
    • Manejo de Errores y Excepciones
    • Módulos y Paquetes en Python
    • Operadores en Python
    • Programación Orientada a Objetos
    • Tipos de Datos en Python
    • Tuplas en Python
    • Variables en Python

    Programación Orientada a Objetos en Python

    La programación orientada a objetos (POO) es un paradigma de programación que organiza el software en "objetos", que son instancias de clases. En Python, la POO permite crear y gestionar clases y objetos con propiedades (atributos) y comportamientos (métodos).

    Clases y Objetos

    En Python, las clases son plantillas para crear objetos. Un objeto es una instancia de una clase y tiene atributos (características) y métodos (funciones) que definen su comportamiento.

    
    class Persona:
        def __init__(self, nombre, edad):
            self.nombre = nombre
            self.edad = edad
    
        def saludar(self):
            return f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años."
    
    persona1 = Persona("Juan", 30)
    
    print(persona1.nombre)
    
    print(persona1.saludar())
    
                    

    Herencia

    La herencia es un principio de la POO que permite crear una nueva clase basándose en una clase existente. La nueva clase hereda los atributos y métodos de la clase base (superclase), pero puede modificar o extender su funcionalidad.

    
    class Animal:
        def __init__(self, nombre):
            self.nombre = nombre
    
        def hablar(self):
            return "Hace un sonido"
    
    class Perro(Animal):
        def __init__(self, nombre, raza):
            super().__init__(nombre)  # Llamada al constructor de la clase base
            self.raza = raza
    
        def hablar(self):
            return "Guau!"
    
    perro1 = Perro("Rex", "Labrador")
    
    print(perro1.nombre)  
    print(perro1.raza)  
    print(perro1.hablar())
      
                    

    Encapsulamiento

    El encapsulamiento es el principio de ocultar los detalles internos de un objeto y exponer solo lo necesario a través de métodos públicos. En Python, podemos utilizar métodos para acceder o modificar los atributos de un objeto de manera controlada.

    
    class CuentaBancaria:
        def __init__(self, titular, saldo):
            self.titular = titular
            self.__saldo = saldo  
    
        def obtener_saldo(self):
            return self.__saldo
    
        def depositar(self, monto):
            self.__saldo += monto
    
    cuenta = CuentaBancaria("Carlos", 1000)
    
    print(cuenta.obtener_saldo())  # 1000
    
    cuenta.depositar(500)
    print(cuenta.obtener_saldo())
     
                    

    Polimorfismo

    El polimorfismo permite que diferentes clases puedan definir métodos con el mismo nombre, pero cada clase tiene una implementación diferente de ese método. Esto permite que un mismo nombre de método se use para diferentes tipos de objetos.

    
    class Gato(Animal):
        def hablar(self):
            return "Miau!"
    
    gato1 = Gato("Felix")
    
    print(perro1.hablar()) 
    print(gato1.hablar())
     
                    

    Conclusión

    La programación orientada a objetos (POO) en Python permite organizar el código en clases y objetos, lo que mejora la modularidad, la reutilización y la mantenibilidad del código. Con POO, puedes modelar mejor el comportamiento de los objetos del mundo real en tu aplicación.

    Anterior Siguiente

    Cursos Coulex

    Desarrollado por Coulex Software