Exchange Currency

lunes, 16 de mayo de 2016

Información sobre ABAP POO Parte 2.

Información sobre ABAP POO Parte 2.



SAP ABAP POO TRATAMIENTO DE OBJETOS Definición 

Sap abap poo tratamiento de objetos los programas sólo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas.

Los métodos funcionales son aquellos que tienen un parámetro RETURNING. Esto significa que devuelven un valor. El parámetro RETURNING siempre debe ser pasado usando la adición VALUE, es decir se debe pasar por valor.

Los métodos funcionales pueden ser llamados directamente dentro de varias expresiones: 

  • Expresiones Lógicas: IF, ELSEIF, WHILE, CHECK, WAIT 
  • Condiciones CASE: CASE, WHEN 
  • Expresiones Aritméticas: COMPUTE 
  • Fuentes de valores como copia local: MOVE 
  • Condiciones de búsqueda para ((tablas internas)), asumiendo que el operando no es un componente de la fila: LOOP AT ... WHERE 

Dentro de una clase se puede acceder también a los componentes individuales mediante la referencia a sí mismo ME.
SAP ABAP POO CONSTRUCTORES Definición 

Sap abap poo constructores es un método especial que es llamado por el sistema en tiempo de ejecución de forma implícita.

Existen dos tipos de métodos en los Objetos ABAP. Aquellos que son llamados en forma explícita mediante la sentencia CALL METHOD (o la forma abreviada) y aquellos que son llamados en forma implícita que son los Constructores.

Un constructor será necesario si después de crear una instancia de una clase necesitamos:


  • Asignar recursos. 
  • Inicializar atributos que no pueden ser cubiertos con la adición VALUE de la sentencia DATA.
  • Modificar atributos estáticos. 
  • Enviar mensajes que indiquen que un nuevo objeto ha sido creado. 


Existen dos tipos de constructores que pueden ser declarados:

  • El constructor de instancia que lleva el nombre de CONSTRUCTOR. Este método es llamado por el sistema tan pronto como él objeto ha sido generado en memoria. 
  • El constructor estático que lleva el nombre de CLASS_CONSTRUCTOR 

SAP ABAP POO HERENCIA Definición

Sap abap poo herencia es la capacidad que tiene una clase de heredar los atributos y métodos de otra clase.

La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades.

Denominaremos Especialización a la relación en donde una clase (la subclase) hereda todas las principales características de otra clase (la superclase).

La subclase puede agregar nuevos componentes (atributos y métodos) y reemplazar las implementaciones con los métodos heredados.

Si invertimos el punto de vista, es decir la superclase hereda las características de las subclase entonces hablaremos de Generalización.

Las principales ventajas de la herencia son:

  • Los componentes comunes solo existen una única vez en la superclase de modo que pueden ser mantenidos centralmente. 
  • Los componentes en las superclases están disponibles también en las subclases, esto evita las implementaciones redundantes. 

SAP ABAP POO POLIMORFISMO Definición

Sap abap poo polimorfismo también se lo conoce como Redefinición, significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes.

Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases.

Todas las subclases contienen los componentes de todas las clases existentes entre ellas mismas y el nodo raíz del árbol de herencia. La visibilidad de un componente no puede ser nunca cambiada.

En cambio se puede usar la adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una función más especializada.

Cuando se redefine un método no se puede cambiar su interface, el método mantiene el mismo nombre y la misma interface de parámetros, pero tiene una nueva implementación.

La declaración y la implementación de un método en una superclase no se ven afectadas cuando se redefine un método en una subclase. La implementación de la redefinición en la subclase ‘oculta’ la implementación original en la superclase.

SAP ABAP POO - ENCAPSULACIÓN Definición

Sap abap poo - encapsulación es una propiedad que presentan los objetos que garantiza la integridad de los datos que contiene un objeto.

El usuario de una clase en particular no necesita saber cómo están estructurados los datos dentro de ese objeto, es decir, un usuario no necesita conocer la implementación. Al evitar que el usuario modifique los atributos directamente y forzándolo a utilizar funciones definidas para modificarlos (llamadas interfaces), se garantiza la integridad de los datos (por ejemplo, uno puede asegurarse de que el tipo de datos suministrados cumple con nuestras expectativas bien que los se encuentran dentro del periodo de tiempo esperado).

La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso:

  • Público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo. 

  • Protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembros de esa clase y todas las subclases. 

  • Privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos. 

SAP ABAP POO EVENTOS Definición

Sap abap poo eventos en objetos ABAP hay ciertos métodos que se conocen como disparadores (triggers) y otros que se conocen como manejadores (handlers). Los triggers son los métodos que disparan un evento, mientras que los handlers son los métodos que se ejecutan cuando ocurre un evento.

Para disparar un evento una clase tiene que:

  • Declarar el evento en la parte declarativa.
  • Disparar el evento en uno de sus métodos. 

Los eventos se declaran en la parte declarativa de una clase o en una ((interface)).

Cuando se declara un evento se puede usar la adición EXPORTING para especificar parámetros que se pasan al manejador del evento. Los parámetros se pasan siempre por valor.

Los eventos dependientes de instancia siempre contienen el parámetro implícito SENDER, el cual tiene el tipo de una referencia al tipo o a la interface en la cual el evento es declarado.

Los eventos dependientes de instancia sólo pueden ser desencadenados en un método dependiente de instancia.

Todos los métodos (dependientes de instancia y estáticos) pueden desencadenar eventos estáticos.

Los eventos estáticos son el único tipo de eventos que puede ser desencadenado por un método estático.
SAP ABAP POO INTERFACES Definición

Sap abap poo interfaces las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP.

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.

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.

2 comentarios:

Technology

Publicidad