Saltar a contenido

Clases y Objetos: El Plano de Construcción

La Programación Orientada a Objetos (POO) es un concepto que nos permite crear moldes (Clases) para generar ejemplares específicos (Objetos).


1. Conceptos Fundamentales

¿Qué es una Clase?

Imagina una Clase como el plano arquitectónico de una casa. El plano no es una casa real, sino una guía que dice: "todas las casas construidas con este plano tendrán 2 puertas y 3 ventanas".

¿Qué es un Objeto?

El Objeto (o instancia) es la casa real construida. Puedes construir 10 casas con el mismo plano; todas son parecidas, pero cada una es un objeto independiente en una dirección distinta.


2. Atributos y Métodos

Dentro de una clase definimos dos cosas:

  1. Atributos: Son las características o datos del objeto (color, tamaño, nombre). Son variables dentro de la clase.
  2. Métodos: Son las acciones que el objeto puede realizar (correr, saltar, encender). Son funciones dentro de la clase.

3. El Constructor __init__ y self

Para que un objeto nazca con datos iniciales, usamos un método especial llamado Constructor.

  • __init__: Es el método que se ejecuta automáticamente al crear el objeto.
  • self: Es una palabra clave obligatoria que representa "a este objeto mismo". Permite que la clase sepa que estamos guardando un dato en el objeto específico que estamos creando y no en otro.

4. Los 4 Pilares de la POO

Para programar como un profesional, debes conocer estos principios:

  1. Encapsulamiento: Ocultar datos internos para que no sean modificados por error desde fuera.
  2. Abstracción: Mostrar solo lo necesario al usuario y ocultar la complejidad interna.
  3. Herencia: Crear una clase nueva basada en una ya existente (ej. la clase Perro hereda de la clase Animal).
  4. Polimorfismo: La capacidad de que diferentes objetos respondan de forma distinta al mismo mensaje (ej. perro.hablar() hace "guau", mientras gato.hablar() hace "miau").

Reto: El Concesionario Virtual

Vas a crear el molde para un auto. Cada vez que crees un auto, debe tener una marca y un modelo, y debe ser capaz de encenderse.

Instrucciones: 1. Define la clase Auto. 2. Crea el método __init__ que reciba self, marca y modelo. 3. Guarda los parámetros en atributos: self.marca = marca y self.modelo = modelo. 4. Crea un método llamado encender que retorne el texto: "El {self.marca} está encendido". 5. Crea un objeto llamado mi_auto de la marca 'Toyota' y modelo 'Corolla'. 6. Crea una variable mensaje llamando al método encender de tu objeto.

# Define tu primera clase: