1
respuesta

Instanciar una interfaz

Me queda una duda, en el tema de interfaces en la parte donde dice haga lo que hicimos en el aula aparece esto, Tenga en cuenta que ahora podemos usar la Autenticacion como un tipo, vea el ejemplo a continuación:

Autenticacion referencia = new Gerente();

Autenticacion referencia = new Cliente();

Autenticacion referencia = new Administrador();

al intentarlo en codigo me sale un error. No sabria decir si esta instanciando una interfaz(ya que eso no se puede) o que esta haciendo. Gracias por su tiempo.

1 respuesta

Hola, espero que estés bien.

Entonces en el ejemplo que mencionas, se está utilizando la interfaz Autenticacion como un tipo de referencia para crear objetos de diferentes clases que implementan esa interfaz.

En Java, no es posible crear una instancia directa de una interfaz, ya que las interfaces son solo contratos que especifican qué métodos deben implementar las clases que las implementan. Sin embargo, puedes crear una referencia de tipo Autenticacion y asignarle un objeto de una clase que implemente esa interfaz.

Por ejemplo, si tienes una clase Gerente que implementa la interfaz Autenticacion, puedes hacer lo siguiente:

Autenticacion referencia = new Gerente();

En este caso, la variable referencia es de tipo Autenticacion, pero apunta a un objeto de la clase Gerente. Esto es posible porque la clase Gerente implementa la interfaz Autenticacion.

De la misma manera, puedes crear referencias de tipo Autenticacion y asignarles objetos de otras clases que implementen la interfaz Autenticacion, como Cliente y Administrador.

Espero que esto aclare tu duda. Si tienes alguna otra pregunta, estaré encantado de ayudarte.

Espero haber ayudado y buenos estudios!