Definir interfaces

¿Qué son y cómo se definen las interfaces?
Las interfaces difieren de la herencia habitual en sus áreas de uso.
Sin embargo, en cuanto a la programación, prácticamente no hay diferencias entre las interfaces y la herencia normal.
Las interfaces pueden verse como clases superiores que no pueden instanciarse, no contienen implementaciones y solo tienen componentes públicos.
Se puede simular la herencia múltiple utilizando las interfaces.
En los objetos ABAP, las interfaces se utilizan principalmente para definir protocolos de interfaces uniformes para los servicios. Las distintas clases pueden implementar estos servicios de diferentes maneras, pero debe mantener la misma semántica. De esta forma, las interfaces no contienen implementaciones.
En los objetos ABAP, los mismos componentes pueden definirse generalmente en interfaces y clases.
Para reconocer las diferencias semánticas de la herencia normal, podemos concentrarnos en los casos de uso siguientes.
Por ejemplo, queremos permitir que múltiples clases implementen un servicio de diferentes maneras, pero utilizando los mismos nombres de método y una firma uniforme. Con la herencia normal, un método de este tipo se define en la clase superior compartida. Sin embargo, si no se puede modelar una clase superior de manera adecuada para la herencia, se deberá definir una interfaz y después el método en la interfaz. Por lo tanto, este caso se puede comparar con una relación de generalización dentro de una clase superior.
En comparación con la herencia normal la distribución de roles en interfaces es a veces diferente. El usuario generalmente define las interfaces. En estas interfaces, el usuario describe, tanto técnica como semánticamente, los servicios que desea recibir del proveedor. Cada clase puede decidir ahora por sí misma si sirve a la interfaz, es decir, si realmente ofrece los servicios definidos en la interfaz. Por ello, este caso es similar a una relación de especialización con una subclase.
Implementación de una interfaz por la clase.
CLASS nombre_clase DEFINITION.
PUBLIC SECTION.
INTERFACES: if_nombre_int.
ENDCLASS.
Implementación de una interfaz por otra interfaz.
INTERFACE if_1
INTERFACES if_2.
ENDINTERFACE.
En este artículo vamos a definir interfaces para entender mejor su concepto y funcionalidad.
En un programa ejecutable creamos la interfaz IF_LIBRO y definimos el método SET_TITULO. Creamos la clase SOCIALES que implementa la interfaz.

¿Qué obligaciones tiene la clase SOCIALES?
La clase SOCIALES está obligada a implementar todos los métodos de la interfaz IF_LIBRO, en este caso el único método SET_TITULO.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete al blog
Recibe las últimas actualizaciones y contenidos exclusivos directamente en tú correo electrónico.
Inscribime
close-link