Definición
Claro, vamos a ver cómo crear clases en Python paso a paso con explicaciones claras y ejemplos detallados, para que entiendas bien cómo funcionan.
🧱 ¿Qué es una clase en Python?
Una clase es como una plantilla para crear objetos. Por ejemplo, si tuvieras que representar autos, podrías hacer una clase Auto, y luego crear objetos como mi_auto, auto_rojo, etc.
🔧 Cómo se define una clase
class NombreDeLaClase:
def __init__(self, atributos):
# Inicialización del objeto
self.atributo = valor
✅ Partes importantes:
classes la palabra clave para definir una clase.__init__es un método especial que se ejecuta cuando se crea un objeto.selfrepresenta la instancia actual del objeto.
📘 Ejemplo 1: Clase simple Persona
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, me llamo {self.nombre} y tengo {self.edad} años.")
# Crear un objeto
persona1 = Persona("Ana", 30)
persona1.saludar()
🔍 Explicación:
self.nombre = nombreguarda el nombre en el objeto.saludar()es un método que imprime un mensaje usando los datos del objeto.
🧪 Ejemplo 2: Clase Coche con métodos personalizados
class Coche:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
self.encendido = False
def encender(self):
self.encendido = True
print(f"{self.marca} {self.modelo} está encendido.")
def apagar(self):
self.encendido = False
print(f"{self.marca} {self.modelo} está apagado.")
def estado(self):
if self.encendido:
print("El coche está encendido.")
else:
print("El coche está apagado.")
# Crear objeto
mi_coche = Coche("Toyota", "Corolla")
mi_coche.estado()
mi_coche.encender()
mi_coche.estado()
mi_coche.apagar()
🔄 Ejemplo 3: Herencia – Clase Empleado que hereda de Persona
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
class Empleado(Persona):
def __init__(self, nombre, edad, puesto):
super().__init__(nombre, edad) # Llama al constructor de la clase base
self.puesto = puesto
def mostrar_info(self):
print(f"Nombre: {self.nombre}, Edad: {self.edad}, Puesto: {self.puesto}")
empleado1 = Empleado("Carlos", 28, "Ingeniero")
empleado1.mostrar_info()
📌 Nota:
super()llama al constructor de la clase base (Persona).Empleadohereda dePersona.
📚 Resumen rápido
| Elemento | Descripción |
|---|---|
class |
Define una clase |
__init__ |
Método constructor que inicializa el objeto |
self |
Referencia al objeto actual |
| Herencia | Una clase puede heredar de otra (class B(A)) |
| Métodos | Funciones definidas dentro de la clase (def) |
¿Quieres que te explique ejemplos más avanzados como clases con propiedades, métodos estáticos, o encapsulamiento?