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:
class
es la palabra clave para definir una clase.__init__
es un método especial que se ejecuta cuando se crea un objeto.self
representa 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 = nombre
guarda 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
).Empleado
hereda 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?