Advertisement
Rodripelto

Filtrar clase por parámetro con herencia

Dec 10th, 2023
942
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. # Creamos la clase vehículo con un parámetro obligatorio para el tipo de vehículo, será la clase principal
  2. class Vehiculo():
  3.     # Método inicial o costructor
  4.     def __init__(self):
  5.         self.velocidad = 0
  6.     # Método que devuelve el tipo de vehículo del objeto
  7.     def acelerar(self):
  8.         self.velocidad +=1
  9.     def frenar(self):
  10.         self.velocidad -=1
  11.     def tipo_vehiculo(self):
  12.         return "Indefinido"
  13. # Creo la clase Coche que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
  14. class Coche(Vehiculo):
  15.     # Sobre escribo el método tipo de vehículo para que devuelva el tipo especifico de cada clase
  16.     def tipo_vehiculo(self):
  17.         return "Coche"
  18. # Creo la clase Moto que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
  19. class Moto(Vehiculo):
  20.     def tipo_vehiculo(self):
  21.         return "Moto"
  22. # Creo la clase Camión que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
  23. class Camion(Vehiculo):
  24.     def tipo_vehiculo(self):
  25.         return "Camión"
  26. # Clase que filtrará por el tipo deseado
  27. class Filtro ():
  28.     # Metodo para filtrar
  29.     def filtrar(self,lista,filtro):
  30.     # Bucle que recorrerá la lista
  31.         for i in lista:
  32.             # i contiene un objeto vehículo en cada iteración de la lista en cada iteración, ademas llamamos al método encargado de devolver el tipo de vehículo
  33.             # lo comparamos conta el filtro dado
  34.             if i.tipo_vehiculo() == filtro:
  35.                 #Si hay coincidencia imprimimos el tipo de vehículo
  36.                 print(i.tipo_vehiculo())
  37.  
  38. #Creamos una lista para contener los objetos vehículo que creemos
  39. vehiculos = [Coche(),Camion(),Moto(),Coche()]
  40. # Pido el filtro
  41. fil = input("¿Por que tipo de vehículo desea filtrar?: ")
  42. # Llamo al método encargado de filtrar pasándole la lista y el filtro que quiero
  43. filtro = Filtro()
  44. filtro.filtrar(vehiculos,fil)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement