Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Creamos la clase vehículo con un parámetro obligatorio para el tipo de vehículo, será la clase principal
- class Vehiculo():
- # Método inicial o costructor
- def __init__(self):
- self.velocidad = 0
- # Método que devuelve el tipo de vehículo del objeto
- def acelerar(self):
- self.velocidad +=1
- def frenar(self):
- self.velocidad -=1
- def tipo_vehiculo(self):
- return "Indefinido"
- # Creo la clase Coche que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
- class Coche(Vehiculo):
- # Sobre escribo el método tipo de vehículo para que devuelva el tipo especifico de cada clase
- def tipo_vehiculo(self):
- return "Coche"
- # Creo la clase Moto que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
- class Moto(Vehiculo):
- def tipo_vehiculo(self):
- return "Moto"
- # Creo la clase Camión que hereda de vehículo, pero como no se modifica nada, no se necesita escribir nada más
- class Camion(Vehiculo):
- def tipo_vehiculo(self):
- return "Camión"
- # Clase que filtrará por el tipo deseado
- class Filtro ():
- # Metodo para filtrar
- def filtrar(self,lista,filtro):
- # Bucle que recorrerá la lista
- for i in lista:
- # 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
- # lo comparamos conta el filtro dado
- if i.tipo_vehiculo() == filtro:
- #Si hay coincidencia imprimimos el tipo de vehículo
- print(i.tipo_vehiculo())
- #Creamos una lista para contener los objetos vehículo que creemos
- vehiculos = [Coche(),Camion(),Moto(),Coche()]
- # Pido el filtro
- fil = input("¿Por que tipo de vehículo desea filtrar?: ")
- # Llamo al método encargado de filtrar pasándole la lista y el filtro que quiero
- filtro = Filtro()
- filtro.filtrar(vehiculos,fil)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement