1
+ """
2
+ * DIFICULTAD EXTRA (opcional):
3
+ * Crea una jerarquía de vehículos. Todos ellos deben poder acelerar y frenar, así como
4
+ * cumplir el LSP.
5
+ * Instrucciones:
6
+ * 1. Crea la clase Vehículo.
7
+ * 2. Añade tres subclases de Vehículo.
8
+ * 3. Implementa las operaciones "acelerar" y "frenar" como corresponda.
9
+ * 4. Desarrolla un código que compruebe que se cumple el LSP.
10
+
11
+ """
12
+
13
+ class Vehiculo :
14
+ def __init__ (self , velocidad = 0 ) -> None :
15
+ self .velocidad = velocidad
16
+
17
+ def acelera (self , aceleracion ):
18
+ self .velocidad += aceleracion
19
+ print (f"Velocidad { self .velocidad } " )
20
+
21
+ def frena (self , frenado ):
22
+ if self .velocidad <= 0 :
23
+ self .velocidad = 0
24
+ self .velocidad -= frenado
25
+ print (f"Velocidad { self .velocidad } " )
26
+
27
+
28
+ class Turismo (Vehiculo ):
29
+ def acelera (self , aceleracion ):
30
+ print ("El turismo está acelerando" )
31
+ super ().acelera (aceleracion )
32
+ def frena (self , frenado ):
33
+ print ("El turismo está frenando" )
34
+ super ().frena (frenado )
35
+
36
+ class Furgoneta (Vehiculo ):
37
+ def acelera (self , aceleracion ):
38
+ print ("La furgoneta está acelerando" )
39
+ super ().acelera (aceleracion )
40
+ def frena (self , frenado ):
41
+ print ("La furgoneta está frenando" )
42
+ super ().frena (frenado )
43
+
44
+ class Camion (Vehiculo ):
45
+ def acelera (self , aceleracion ):
46
+ print ("El camión está acelerando" )
47
+ super ().acelera (aceleracion )
48
+ def frena (self , frenado ):
49
+ print ("El camión está frenando" )
50
+ super ().frena (frenado )
51
+
52
+
53
+ def aplica_LSP (vehiculo ):
54
+ vehiculo .acelera (10 )
55
+ vehiculo .frena (5 )
56
+
57
+ mi_vehiculo = Vehiculo ()
58
+ turismo = Turismo ()
59
+ furgoneta = Furgoneta ()
60
+ camion = Camion ()
61
+
62
+ aplica_LSP (mi_vehiculo )
63
+ aplica_LSP (turismo )
64
+ aplica_LSP (furgoneta )
65
+ aplica_LSP (camion )
0 commit comments