Programación Orientada a Objetos (POO)

En esta lección, exploraremos la Programación Orientada a Objetos (POO), un paradigma de programación que se basa en el uso de objetos y clases.

Conceptos Clave en POO

Objetos

Los objetos son instancias de clases y representan entidades del mundo real. Pueden tener atributos que describen sus características y métodos que definen su comportamiento.

Ejemplo:

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

    def saludar(self):
        print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años.")

persona1 = Persona("Juan", 25)
persona1.saludar()

En este ejemplo, hemos creado una clase llamada “Persona”. La clase tiene un constructor (init) que inicializa los atributos “nombre” y “edad” de la persona. También tiene un método llamado “saludar” que muestra un mensaje con el nombre y la edad de la persona.

Clases

Las clases son plantillas o moldes que definen la estructura y el comportamiento de los objetos. En una clase, puedes especificar qué atributos y métodos tendrán sus objetos.

Ejemplo:

class Coche:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo

    def mostrar_info(self):
        print(f"Marca: {self.marca}, Modelo: {self.modelo}")

coche1 = Coche("Toyota", "Camry")
coche1.mostrar_info()

En este ejemplo, hemos creado una clase llamada “Coche” que tiene atributos “marca” y “modelo”. También tiene un método “mostrar_info” que imprime la información del coche.

Atributos

Los atributos son características o propiedades de un objeto que almacenan datos.

Ejemplo:

class Producto:
    def __init__(self, nombre, precio):
        self.nombre = nombre
        self.precio = precio

producto1 = Producto("Teléfono", 500)
print(f"Producto: {producto1.nombre}, Precio: {producto1.precio}")

En este ejemplo, hemos creado una clase “Producto” con atributos “nombre” y “precio”.

Métodos

Los métodos son funciones definidas en una clase que representan el comportamiento de los objetos de esa clase.

Ejemplo:

class Perro:
    def __init__(self, nombre, raza):
        self.nombre = nombre
        self.raza = raza

    def ladrar(self):
        print(f"{self.nombre} está ladrando.")

perro1 = Perro("Max", "Labrador")
perro1.ladrar()

En este ejemplo, hemos creado una clase “Perro” con el método “ladrar” que muestra un mensaje cuando un perro ladra.

Actividad Práctica

Crea una clase “Libro” que represente libros con atributos como “título” y “autor”. Luego, implementa un método llamado “mostrar_info” que imprima los atributos del libro. A continuación, crea una instancia de la clase “Libro” y llama al método “mostrar_info” para mostrar la información del libro.

Explicación:

Esta actividad te permitirá practicar la creación de clases y objetos, así como comprender cómo la Programación Orientada a Objetos nos ayuda a modelar y organizar nuestros programas de manera más efectiva.

¿Qué aprendimos?

  • Aprendimos los conceptos fundamentales de la Programación Orientada a Objetos (POO).
  • Comprendimos cómo definir clases y objetos en Python.
  • Practicamos la creación de atributos y métodos en una clase.
  • Realizamos una actividad práctica para aplicar los conocimientos adquiridos en la creación de una clase y su uso.