Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] No entiendo como en esta clase se diferencia la autenticacion de cliente, gerente o adminsitrador

public class SistemaInterno {

private String clave = "AluraCursosOnLine";

public boolean autentica(Autenticable gerente) {
    boolean puedeIniciarSesion = gerente.iniciarSesion(clave);
    if (puedeIniciarSesion) {
        System.out.println("Login exitoso");
        return true;
    } else {
        System.out.println("Error en login");
        return false;
    }
}

}

1 respuesta

¡Hola Ligia!

En la clase "SistemaInterno" se utiliza el polimorfismo para diferenciar la autenticación de un cliente, un gerente o un administrador. Esto se logra gracias a la interfaz "Autenticable", que define el método "iniciarSesion".

La clase "SistemaInterno" tiene un método llamado "autentica" que recibe como parámetro un objeto que implementa la interfaz "Autenticable". Esto significa que puede recibir cualquier objeto que implemente esa interfaz, ya sea un cliente, un gerente o un administrador.

Dentro del método "autentica", se llama al método "iniciarSesion" del objeto "gerente". Dependiendo de la implementación de ese método en cada clase que implemente la interfaz "Autenticable", se realizará la autenticación correspondiente.

Por ejemplo, si tienes una clase "Cliente" que implementa la interfaz "Autenticable", su método "iniciarSesion" podría verificar si la clave ingresada es correcta para un cliente. En cambio, si tienes una clase "Gerente" que también implementa la interfaz "Autenticable", su método "iniciarSesion" podría verificar si la clave ingresada es correcta para un gerente.

De esta manera, el método "autentica" puede ser utilizado para autenticar diferentes tipos de usuarios, simplemente pasando el objeto correspondiente a la interfaz "Autenticable".

Espero que esto te ayude a entender cómo se diferencia la autenticación de cliente, gerente y administrador en esta clase. ¡Si tienes alguna otra pregunta, estaré encantado de ayudarte!

¡Espero haber ayudado y buenos estudios!