🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP POO Las Interfaces

ABAP POO Las Interfaces

ABAP POO Las Interfaces

INTERFACES – LECCION 2-6

INTRODUCCION A INTERFACE

Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objeto

Además, hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que están codificadas diferentes en cada clase, las cuales dan un punto de contacto común con el usuario

Por ejemplo, podríamos tener dos clases similares, cuenta corriente y cuenta de ahorro, las cuales tienen un método para calcular las comisiones del año. Las interfaces y nombres de los métodos son los mismos pero la implementación es diferente

El usuario de las clases y las instancias tiene que ser capaz de ejecutar el método para todas las cuentas sin preocuparse del tipo de cada cuenta individual

Con objetos ABAP esto es posible mediante el uso de las interfaces

¿QUE SON LAS INTERFACES?

Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase

el ámbito específico de una clase viene definido por sus componentes y sus secciones de visibilidad

por ejemplo, los componentes públicos de una clase definen su ámbito público, ya que todos sus atributos y los parámetros de los métodos pueden ser utilizados por todos los usuarios

los componentes protegidos de una clase definen su ámbito en lo que se refiere a sus subclases. Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública. Esto permite a los usuarios acceder a diferentes clases por medio de un punto de contacto común

las interfaces junto como la herencia proporcionan uno de los pilares básicos del polimorfismo ya que permiten que un solo método con una interface se comporte distinto en diferentes clases.

DEFINICION DE UNA INTERFACE

Al igual que las clases, las interfaces se pueden definir o bien globalmente en el repositorio R/3 o localmente en un programa ABAP. La definición de una interface local es el código existente entre las sentencias siguientes

INTERFAE <interface>.

ENDINTERFACE.

La definición contiene la declaración de todos los componentes (atributos, métodos y eventos) de la interface. Se pueden definir los mismos componentes en una interface que en una clase.

Los componentes de las interfaces no tienen que ser asignados a ninguna sección de visibilidad ya que automáticamente pertenecen a la sección publica de la clase en la que la interface es implementada

NOTA, las interfaces no tiene una parte de implementación ya que sus métodos son implementados en la clase que implementa la interface.

IMPLEMENTACION DE INTERFACES

Cuando se implementa una interface en una clase, los componentes de la interface se añaden al resto de componentes de la sección pública. Un componente de una interface puede ser direccionado como si fuese un miembro de la clase bajo el siguiente nombre

<interface~conponentes>.

La clase tiene que implementar los métodos de todas las interfaces implementadas en ella. La parte de implementación de la clase debe contener la implementación de cada método de la interface.

METHOD <interface~metodo>.

ENDMETHOD.

Las interfaces pueden ser implementadas por diferentes clases. Cada una de las clases es ampliada con el mismo conjunto de componentes, aunque los métodos de la interface pueden ser implementados de manera distinta en cada clase

REFERENCIAS A INTERFACES

Las variables referenciadas permiten acceder a los objetos. En lugar de crear variables referenciadas con referencia a una clase, se puede crear con referencia a una interface

Este tipo de variables referenciadas pueden contener referencias a los objetos de las clases que implementen esa interface.

TYPE REF TO <interface>

NOTA, la interface que utilicemos para definir la referencia debe haber sido declarada en el programa antes que esta declaración tenga lugar

Una variante referenciada con el tipo referenciado a una interface se llama variable referenciada a una interface, o referenciada a interface simplemente.

Una referencia a interface permite al usuario usar la siguiente declaracion

<ireferencia>-><componente>

Para acceder a todos los componentes visibles de la interface del objeto al cual la referencia está apuntando.

Esto permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definición al implementar la interface.

DIRECCIONARY ASIGNAR OBJETOS USANDO REFERENCIAS A INTERFACES

Para crear un objeto de la clase primero se tiene que haber declarado una variable referenciada con referencia a la clase. Si la clase implementa una interface, se puede usar la siguiente asignación entre la variable referenciada a la clase y una referencia a interface para hacer que la referencia a interface apunte al mismo objeto que la referencia a clase en:

<ireferencia> = <creferencia>

Si la interface contiene un atributo dependiente de instancia y un método dependiente de instancia se puede direccionar los componentes de la interface como describimos a continuación

Usando la variable referenciada a una clase:

<creferencia>-><interface~atributo>

CALL METHOD <creferencia>->interface~metodo>

Usando la variable referenciada a una interface

<ireferencia>-><atributo>

CALL METHOD <ireferencia>->metodo>

Siempre que los componentes estáticos de las interfaces estén implicados solo se puede usar el nombre de la interface para acceder a las constantes

<interface> => <constante>

Para todos los demás componentes estaticos de una interface, solo se pueden usar referencias a objetos o la clase que implementa la interface

<clase> =><interface~atributo>

CALL METHOD <class> =><intf~meth>

EJEMPLO DE INTERFACES

A continuacion veremos un ejemplo de un programa ABAP que utiliza intrfaces. Aquí declaramos la interface ESTADO y las clases CONTADOR y BICICLETA. Dentro de la sección publica de ambas clases declaramos la interface ESTADO.

Luego dentro del evento START-OF-SELECTION creamos los objetos CUENTA y BICI.

Ejecutamos los métodos CUENTA->INCREMENTAR y BICI->MANEJAR, almacenamos los resultados en la tabla TI_ESTADO y recorremos la tabla llamando al método IMPRIMIR

La salida por pantalla del programa será la siguiente:


 

 

 


Sobre el autor

Publicación académica de Cristian Darwin Arteaga Diaz, en su ámbito de estudios para el Máster ABAP POO.

SAP Expert


Cristian Darwin Arteaga Diaz

Profesión: Abap Developer - Argentina - Legajo: GP81Q

✒️Autor de: 165 Publicaciones Académicas

🎓Cursando Actualmente: Master Funcional para Consultores ABAP

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Me considero una persona responsable, siempre estoy investigando y capacitandome para adquirir nuevos conocimientos, tengo el gusto de iniciarme en el mundo de abap como desarrollador, es genial.

Certificación Académica de Cristian Arteaga

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las Interfaces" de la mano de nuestros alumnos.

2) Que son las Interfaces? Interfaces: Son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. 3) Definicion de una interface La definicion de las interfaces puede ser globalmente o dentro de programa abap. Dentro del programa ABAP el codigo es el siguiente: INTERFACE <interface>. ..... ENDINTERFACE. Las interfaces no tienen una parte de implementacion ya que susu metodos son implementados en una clase que implementa la interfece. 4) Implementacion de Interfaces componente de una interface <interface~componente>. Implementar metodos de interfaces METHOD <interface~metodo>. .... ENDMETHOD. 5) Referencia a Interfaces definir referencia a una interface: TYPE REF TO <interface>...

Acceder a esta publicación

Creado y Compartido por: Juan Jose Pujol Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Una Interface se utiliza para extender el ámbito de una clase. El ámbito específico de una clase viene definido por sus componentes y sus secciones de visibilidad. Las interfaces junto a la herencia proporcionan uno de los pilares básicos del POLIMORFISMO, ya que permiten que un sólo método con una interface se comporte distinto en diferentes clases.

Acceder a esta publicación

Creado y Compartido por: Luis Alfredo Lombardi Pizarro

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Interfaz: estructura independeinte que se puede implementar en una clase para extender el ámbito de esa clase. Se define por los componentes y sus secciones de visibilidad. Las interfaces se definen con INTERCAE - ENDINTERFACE. Esta contiene la declaración de los componentes de la interfaz y se pueden definir los mismos que en una clase. No se asignan a ninguna secciónde visibilidad ya que pertenencen a la sección pública. Al imlementarse, los componentes se añaden al resto de la sección pública y se direcciona como si fueran un miembro de la clase (insterface-componente). Para definir algo que pertenence a una interfaz se usa la sentencia TYPE REF TO <interface>.

Acceder a esta publicación

Creado y Compartido por: Daniel Alejandro Monteros Segura

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Interfases: Estructuras independientes que contienen metodos (sin implementar) y parametros que pueden incluirse en una clase para extender el ambito de esa clase. Las interfases extienden el ambito de una clase agregando sus propios componentes a la SECCION PUBLICA de una clase. Definicion de una Interfase: INTERFASE <Interfase> endinterfase. No hay seccion privada o protegida en una Interfase. Automaticamente son asignados a la seccion publica de la clase. Tampoco poseen una parte de implementacion La implementacion se realiza en la clase a la que se asigna. Todos los metodos de la interfase deberan ser implementados en la clase...

Acceder a esta publicación

Creado y Compartido por: Regulo Argotte

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!