¿Qué es la herencia de la interfaz?
La herencia de la interfaz es un mecanismo en ciertos lenguajes de computadora donde las funciones específicas son heredadas por una clase, y luego esa clase particular debe proporcionar implementaciones para esas funciones para completar. Las interfaces solo existen en ciertos lenguajes de programación orientados a objetos. Se pueden usar para emular múltiples herencias mientras que en realidad no permiten que una clase se herede, porque generalmente no hay límites para el número de interfaces de las que una clase puede heredar. Además de los métodos no implementados, las interfaces también pueden incluir constantes públicas.
En la herencia de la interfaz, el objeto que hereda los trozos y constantes de métodos se considera un tipo de objeto de interfaz. Entonces, si una Clase X heredara de una interfaz Y, cualquier instancia de la Clase X también sería una instancia de la Clase Y. Esto se vuelve más complicado cuando la herencia de la interfaz de una clase implica más de una interfaz separada. Para cada interfaz adicional que se herede, la resultanteLa clase se puede usar legítimamente como una instancia de cada uno. Si una clase heredada de diez interfaces diferentes, los objetos de esa clase podrían usarse como una instancia de once objetos diferentes, incluido sí mismo.
Tal herencia compleja no es a menudo necesaria. La herencia de la interfaz se utiliza para garantizar que una clase tenga un conjunto específico de comportamientos requeridos, y estos comportamientos le permiten realizar una variedad de funciones que de otra manera no podría hacer. Un ejemplo común de esto es la interfaz ActionListener en Java, que requiere una clase para implementar solo un método específico. La implementación exitosa de este método permite a un usuario controlar botones, elementos de menú o cualquier otro objeto de ventana en la clase si lo desea. La herencia de la interfaz es una forma relativamente simple de agregar funcionalidad compleja a una clase sin preocuparse por los problemas de herencia más complicados.
Una de las mayores ventajas para USILa herencia de la interfaz NG es que permite que los objetos específicos se usen en un sentido genérico. Dado que una clase que implementa una interfaz es una instancia de esa interfaz, se puede usar cualquier lugar que se requiere una instancia de esa interfaz. Por ejemplo, si la clase A implementa la clase C, y la clase B también implementa la clase C, si un método toma como parámetro una instancia de la Clase C, una instancia de la Clase A o una instancia de la Clase B sería un parámetro aceptable para usar. Las interfaces no se pueden instanciar por su cuenta porque no están completas, por lo que nunca habría un objeto que fuera puramente una instancia de clase C como parámetro.