Skip to content

Commit 79700a2

Browse files
committed
ejercicio adicional sin lsp
1 parent 4f99957 commit 79700a2

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

Roadmap/28 - SOLID LSP/java/simonguzman.java

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,51 @@
77
public class simonguzman {
88
public static void main(String[] args) {
99
//libraryManagementSystemLiskovViolation();
10-
libraryLSP();
10+
//libraryLSP();
11+
LiskovIncorrectTest();
1112
}
13+
/****************************** ejercicio adicional con lsp (Correcto) ******************************/
1214

15+
/****************************** ejercicio adicional sin lsp (Incorrecto) ******************************/
16+
public static void LiskovIncorrectTest() {
17+
Vehiculo cocheElectrico = new CocheElectrico();
18+
acelerarYFrenar(cocheElectrico);
19+
20+
((CocheElectrico) cocheElectrico).recargarBateria();
21+
}
22+
23+
public static void acelerarYFrenar(Vehiculo vehiculo) {
24+
vehiculo.acelerar();
25+
vehiculo.frenar();
26+
}
27+
28+
static class Vehiculo {
29+
public void acelerar() {
30+
System.out.println("El vehículo está acelerando.");
31+
}
32+
33+
public void frenar() {
34+
System.out.println("El vehículo está frenando.");
35+
}
36+
}
37+
38+
// Subclase CocheEléctrico que viola LSP
39+
static class CocheElectrico extends Vehiculo {
40+
@Override
41+
public void acelerar() {
42+
System.out.println("El coche eléctrico está acelerando silenciosamente.");
43+
}
44+
45+
@Override
46+
public void frenar() {
47+
System.out.println("El coche eléctrico está frenando regenerativamente.");
48+
}
49+
50+
// Método adicional que viola el LSP
51+
public void recargarBateria() {
52+
System.out.println("Recargando la batería del coche eléctrico.");
53+
}
54+
}
1355
/****************************** ejemplo con lsp (Correcto) ******************************/
1456
static void libraryLSP(){
1557
LibraryManager libraryManager = new LibraryManager();

0 commit comments

Comments
 (0)