Generation

class from descriptionThu, 17 Apr 2025

Crea una clase Vehiculo con métodos arrancar() y parar(). Luego, crea subclases Coche y Moto con un método específico para cada una (tocar_claxon() en Coche y hacer_wheelie() en Moto), y prueba sus métodos únicos.

Aquí te muestro un ejemplo de cómo podrías implementar la clase `Vehiculo` y sus subclases `Coche` y `Moto` en Python: ```python class Vehiculo: """Clase base para vehículos""" def __init__(self, marca, modelo): """Inicializa el vehículo con marca y modelo""" self.marca = marca self.modelo = modelo self.arrancado = False def arrancar(self): """Arranca el vehículo""" if not self.arrancado: self.arrancado = True print(f"El {self.marca} {self.modelo} ha arrancado.") else: print(f"El {self.marca} {self.modelo} ya está arrancado.") def parar(self): """Para el vehículo""" if self.arrancado: self.arrancado = False print(f"El {self.marca} {self.modelo} ha parado.") else: print(f"El {self.marca} {self.modelo} ya está parado.") class Coche(Vehiculo): """Clase para coches""" def __init__(self, marca, modelo, num_puertas): """Inicializa el coche con marca, modelo y número de puertas""" super().__init__(marca, modelo) self.num_puertas = num_puertas def tocar_claxon(self): """Toca el claxon del coche""" if self.arrancado: print(f"El claxon del {self.marca} {self.modelo} está sonando.") else: print(f"El {self.marca} {self.modelo} no está arrancado, no puede tocar el claxon.") class Moto(Vehiculo): """Clase para motos""" def __init__(self, marca, modelo, cilindrada): """Inicializa la moto con marca, modelo y cilindrada""" super().__init__(marca, modelo) self.cilindrada = cilindrada def hacer_wheelie(self): """Hace un wheelie con la moto""" if self.arrancado: print(f"La {self.marca} {self.modelo} está haciendo un wheelie.") else: print(f"La {self.marca} {self.modelo} no está arrancada, no puede hacer un wheelie.") # Prueba de los métodos coche = Coche("Toyota", "Corolla", 4) moto = Moto("Honda", "CBR500R", 500) coche.arrancar() coche.tocar_claxon() coche.parar() moto.arrancar() moto.hacer_wheelie() moto.parar() ``` En este ejemplo, la clase `Vehiculo` tiene los métodos `arrancar()` y `parar()`, que se heredan en las subclases `Coche` y `Moto`. Las subclases tienen métodos adicionales específicos para cada tipo de vehículo: `tocar_claxon()` en `Coche` y `hacer_wheelie()` en `Moto`. La prueba muestra cómo se pueden utilizar estos métodos para arrancar y parar los vehículos, y para realizar las acciones específicas de cada tipo de vehículo.

Want to kickstart your project?Use the new AI Studio to create your code