Introducción a la Programación Orientada a Objetos con Python

por

Introducción a la Programación Orientada a Objetos con Python

La programación orientada a objetos (POO) es un paradigma que organiza el código en torno a objetos, que combinan datos (atributos) y comportamientos (métodos).
Python, aunque es un lenguaje multiparadigma, ofrece un soporte muy completo para este estilo de programación.


¿Qué es la Programación Orientada a Objetos?

En la POO, los programas se estructuran usando clases y objetos:

  • Clase: es un molde o plantilla que define las características y comportamientos de un tipo de objeto.
  • Objeto: es una instancia concreta de una clase, con sus propios valores de atributos.

Por ejemplo, si tenemos una clase Perro, cada perro específico (como “Firulais” o “Luna”) sería un objeto diferente.


Creando una clase en Python

En Python, las clases se definen con la palabra clave class:

class Perro:
    # Método inicializador (constructor)
    def __init__(self, nombre, edad):
        self.nombre = nombre  # Atributo de instancia
        self.edad = edad

    # Método (comportamiento)
    def ladrar(self):
        print(f"{self.nombre} dice: ¡Guau!")

    def cumplir_anios(self):
        self.edad += 1
        print(f"{self.nombre} ahora tiene {self.edad} años.")

Creando y usando objetos

Una vez definida la clase, podemos crear objetos (instancias) de ella:

mi_perro = Perro("Firulais", 3)
otro_perro = Perro("Luna", 5)

mi_perro.ladrar()        # Firulais dice: ¡Guau!
otro_perro.cumplir_anios()  # Luna ahora tiene 6 años.

Cada objeto mantiene sus propios datos (nombre, edad), pero comparten los métodos definidos en la clase.


Principios fundamentales de la POO

Encapsulamiento: protege los datos internos del objeto.
Se puede usar el guion bajo _atributo para indicar que un atributo es “privado”.

class CuentaBancaria:
    def __init__(self, saldo):
        self._saldo = saldo  # Atributo protegido

    def depositar(self, cantidad):
        self._saldo += cantidad

    def obtener_saldo(self):
        return self._saldo

Herencia: permite crear nuevas clases basadas en otras, reutilizando código.

class Animal:
    def hablar(self):
        print("El animal hace un sonido")

class Gato(Animal):
    def hablar(self):
        print("El gato dice: miau")

g = Gato()
g.hablar()  # El gato dice: miau

Polimorfismo: diferentes clases pueden definir el mismo método, pero con comportamientos distintos.

animales = [Perro("Toby", 2), Gato()]

for animal in animales:
    animal.hablar()  # Cada uno responde según su clase

Conclusión

La programación orientada a objetos te permite escribir código más organizado, modular y reutilizable.

En Python, su sintaxis sencilla hace que aprender este paradigma sea una excelente manera de mejorar tus habilidades como desarrollador.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Notas que te pueden interesar
Cómo construir un juego simple con Python

Cómo construir un juego simple con Python

Crear un juego simple como «Adivina el número» es una forma divertida de aprender los conceptos básicos de programación en Python, como las variables, las condiciones, los bucles y la entrada del usuario.

Copyright © 2025 oyemau.com · Todos los derechos reservados.