Skip to content

Commit

Permalink
ejercicio adicional sin lsp
Browse files Browse the repository at this point in the history
  • Loading branch information
simonguzman committed Sep 18, 2024
1 parent 4f99957 commit 79700a2
Showing 1 changed file with 43 additions and 1 deletion.
44 changes: 43 additions & 1 deletion Roadmap/28 - SOLID LSP/java/simonguzman.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,51 @@
public class simonguzman {
public static void main(String[] args) {
//libraryManagementSystemLiskovViolation();
libraryLSP();
//libraryLSP();
LiskovIncorrectTest();
}
/****************************** ejercicio adicional con lsp (Correcto) ******************************/

/****************************** ejercicio adicional sin lsp (Incorrecto) ******************************/
public static void LiskovIncorrectTest() {
Vehiculo cocheElectrico = new CocheElectrico();
acelerarYFrenar(cocheElectrico);

((CocheElectrico) cocheElectrico).recargarBateria();
}

public static void acelerarYFrenar(Vehiculo vehiculo) {
vehiculo.acelerar();
vehiculo.frenar();
}

static class Vehiculo {
public void acelerar() {
System.out.println("El vehículo está acelerando.");
}

public void frenar() {
System.out.println("El vehículo está frenando.");
}
}

// Subclase CocheEléctrico que viola LSP
static class CocheElectrico extends Vehiculo {
@Override
public void acelerar() {
System.out.println("El coche eléctrico está acelerando silenciosamente.");
}

@Override
public void frenar() {
System.out.println("El coche eléctrico está frenando regenerativamente.");
}

// Método adicional que viola el LSP
public void recargarBateria() {
System.out.println("Recargando la batería del coche eléctrico.");
}
}
/****************************** ejemplo con lsp (Correcto) ******************************/
static void libraryLSP(){
LibraryManager libraryManager = new LibraryManager();
Expand Down

0 comments on commit 79700a2

Please sign in to comment.