@@ -8,10 +8,70 @@ public class simonguzman {
88 public static void main (String [] args ) {
99 //libraryManagementSystemLiskovViolation();
1010 //libraryLSP();
11- LiskovIncorrectTest ();
11+ //LiskovIncorrectTest();
12+ LiskovCorrectTest ();
1213 }
1314 /****************************** ejercicio adicional con lsp (Correcto) ******************************/
15+ public static void LiskovCorrectTest () {
16+ VehiculoLsp coche = new Coche ();
17+ VehiculoLsp bicicleta = new Bicicleta ();
18+ VehiculoLsp motocicleta = new Motocicleta ();
19+
20+ // Probar comportamiento de los vehículos
21+ acelerarYFrenarLsp (coche );
22+ acelerarYFrenarLsp (bicicleta );
23+ acelerarYFrenarLsp (motocicleta );
24+ }
25+
26+ public static void acelerarYFrenarLsp (VehiculoLsp vehiculo ) {
27+ vehiculo .acelerar ();
28+ vehiculo .frenar ();
29+ }
30+
31+ static class VehiculoLsp {
32+ public void acelerar () {
33+ System .out .println ("El vehículo está acelerando." );
34+ }
35+
36+ public void frenar () {
37+ System .out .println ("El vehículo está frenando." );
38+ }
39+ }
40+
41+ static class Coche extends VehiculoLsp {
42+ @ Override
43+ public void acelerar () {
44+ System .out .println ("El coche está acelerando rápidamente." );
45+ }
1446
47+ @ Override
48+ public void frenar () {
49+ System .out .println ("El coche está frenando suavemente." );
50+ }
51+ }
52+
53+ static class Bicicleta extends VehiculoLsp {
54+ @ Override
55+ public void acelerar () {
56+ System .out .println ("La bicicleta está acelerando lentamente." );
57+ }
58+
59+ @ Override
60+ public void frenar () {
61+ System .out .println ("La bicicleta está frenando manualmente." );
62+ }
63+ }
64+ static class Motocicleta extends VehiculoLsp {
65+ @ Override
66+ public void acelerar () {
67+ System .out .println ("La motocicleta está acelerando con potencia." );
68+ }
69+
70+ @ Override
71+ public void frenar () {
72+ System .out .println ("La motocicleta está frenando rápidamente." );
73+ }
74+ }
1575 /****************************** ejercicio adicional sin lsp (Incorrecto) ******************************/
1676 public static void LiskovIncorrectTest () {
1777 Vehiculo cocheElectrico = new CocheElectrico ();
0 commit comments