La Programación Orientada a Objetos (POO) es un paradigma de programación que organiza el diseño del software en torno a objetos.
Los objetos son instancias de clases, y pueden tener:
Herencia:
Ejemplo:
class Animal:
def __init__(self, nombre):
self.nombre = nombre
def hacer_sonido(self):
return "Hace un sonido genérico"
class Perro(Animal): # Hereda de Animal
def hacer_sonido(self):
return "Ladra"
Encapsulamiento:
Ejemplo:
class CuentaBancaria:
def __init__(self, saldo):
self.__saldo = saldo # Atributo privado
def depositar(self, monto):
if monto > 0:
self.__saldo += monto
def obtener_saldo(self):
return self.__saldo
Abstracción:
Ejemplo:
from abc import ABC, abstractmethod
class Forma(ABC): # Clase abstracta
@abstractmethod
def calcular_area(self):
pass
class Rectangulo(Forma):
def __init__(self, ancho, alto):
self.ancho = ancho
self.alto = alto
def calcular_area(self):
return self.ancho * self.alto
Polimorfismo:
Ejemplo:
class Animal:
def hacer_sonido(self):
return "Sonido genérico"
class Perro(Animal):
def hacer_sonido(self):
return "Ladra"
class Gato(Animal):
def hacer_sonido(self):
return "Maúlla"
def emitir_sonidos(animales):
for animal in animales:
print(animal.hacer_sonido())
animales = [Perro(), Gato(), Animal()]
emitir_sonidos(animales)
# Salida:
# Ladra
# Maúlla
# Sonido genérico