Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ABAP Orientado a
Objetos
Introduccin a ABAP Objects
Abril 2007
Contenido
1) Comparacin breve Programacin Procedural vs.
Programacin Orientada a Objetos
Contenido
Page 3 of 19
Contenido
1) Comparacin breve Programacin Procedural vs.
Programacin Orientada a Objetos
ORIENTADA A OBJETOS
PROCEDURAL
Las funciones se definen
independientemente de
las estructuras de datos.
Agrupacin de datos y
funciones en clases.
Creacin de objetos
con las propiedades y
comportamientos
definidos en las clases.
Se accede de forma
directa a los datos.
Page 5 of 19
Grupo de Funciones
Clases
Page 6 of 19
Atributos
Mtodos
Contenido
1) Comparacin breve Programacin Procedural vs.
Programacin Orientada a Objetos
Page 8 of 19
Mtodo
ATRIBUTOS
METODOS
Page 9 of 19
clase _ avin
Nombre
Plazas
Subir_pasajeros
Despegar
Polimorfismo
Mtodos que se llaman igual pueden comportarse de
manera distinta en clases diferentes.
Herencia
Utilizacin de clases ya definidas para la creacin de
nuevas clases (Superclases y subclases)
Page 10 of 19
Contenido
1) Comparacin breve Programacin Procedural vs.
Programacin Orientada a Objetos
3. ABAP Objects
Qu es ABAP Objects?
Extensin Compatible de ABAP
Las sentencias de ABAP objects se pueden usar
en los programas convencionales de ABAP, y
viceversa
ABAP objects no es un lenguaje nuevo, ha sido
desarrollado como una extensin de ABAP
Page 12 of 19
3. ABAP Objects
Ventajas:
Consistencia durante el proceso de desarrollo
Encapsulacin
Page 13 of 19
3. ABAP Objects
Ventajas:
Polimorfismo
Un objeto en diferentes clases puede tener
diferentes reacciones a un mismo mensaje
Herencia
Define la implementacin de la relacin entre
clases, en la cual una clase (la subclase) comparte
la estructura (atributos) y el comportamiento
(mtodos) definidos en una o ms clases
(superclases).
Nota: En ABAP solo est permitida la herencia simple
Page 14 of 19
Contenido
Page 15 of 19
Page 16 of 19
Page 17 of 19
Page 18 of 19
Page 19 of 19
Page 20 of 19
Page 21 of 19
Page 22 of 19
Page 23 of 19
Page 24 of 19
Page 25 of 19
Page 26 of 19
Page 27 of 19
Page 28 of 19
Page 29 of 19
Page 30 of 19
Page 31 of 19
Page 32 of 19
Page 33 of 19
Contenido
Page 34 of 19
5. Principios: Objetos
Un objeto viene caracterizado por:
Identidad
Status
(Atributos)
Comportamiento
(Mtodos)
Identidad:
Cada objeto generado a partir de una clase tiene su propia
identidad (Cada objeto es UNICO).
Page 35 of 19
5. Principios: Clases
Clases -> Plantillas para los objetos
Declaracin
CLASS <nombre_clase> DEFINITION.
ENDCLASS.
Mtodos
Implementacin
CLASS <nombre_clase> IMPLEMENTATION.
En la implementacin realizamos
la codificacin en s de los
mtodos (implementacin)
ENDCLASS.
Page 36 of 19
5. Principios: Clases
Componentes de las Clases
Mtodos
Atributos
Son los datos en s y representan el
status del objeto.
De Instancia:
METHOD <nombre_metodo>.
DATA TYPE
ENDMETHOD.
Estticos:
Estticos:
CLASS-METHOD <nombre_metodo>.
CLASS-DATA TYPE
ENDMETHOD.
Constructor: CONSTRUCTOR.
Constructor de clase:
CLASS-CONSTRUCTOR
Page 37 of 19
5. Principios: Clases
Visibilidad
La parte declarativa de una clase se divide en 3 reas:
CLASS <nombre_clase> DEFINITION.
PUBLIC SECTION: Todos los componentes son accesibles
para todos los usuarios de la clase y para todos los
mtodos de la clase y de cualquier clase que herede de
ella. INTERFAZ ENTRE USUARIO Y CLASE
PUBLIC SECTION.
DATA
METHODS
PRIVATE SECTION.
DATA
METHODS
PROTECTED SECTION.
DATA
METHODS
ENDCLASS.
Page 38 of 19
5. Principios
Clases Globales y Locales
Las clases Globales se definen en el generador de clases en el ABAP
Workbench (SE24) y todos los programas ABAP pueden acceder a las
clases globales.
ENDCLASS.
ENDCLASS.
Page 39 of 19
5. Principios
Atributos: Declaracin
Page 40 of 19
5. Principios
Mtodos: Declaracin
CLASS zcl_ejemplo DEFINITION.
METHODS:
ME_NUMERO_ALEATORIO
[ IMPORTING i_parameter TYPE
EXPORTING e_parameter TYPE
CHANGING c_parameter TYPE
RETURNING VALUE r_parameter TYPE
EXCEPTIONS cx_exception],
ME_OBTENER_INVERSO
[ ].
ENDCLASS.
ENDMETHOD.
METHOD ME_OBTENER_INVERSO.
.
ENDMETHOD.
ENDCLASS.
Page 41 of 19
5. Principios
Objetos: Creacin
Antes de crear un objeto de una clase es necesario declarar
una variable de referencia:
DATA: <var_referencia> TYPE REF TO <nombre_clase>.
DATA: l_ref_zcl_ejemplo TYPE REF TO zcl_ejemplo.
Page 42 of 19
5. Principios
Objetos: Acceso a componentes
Los programas slo pueden acceder a los componentes de las instancias
usando las referencias de las variables referenciadas:
var_referencia->ATRIBUTO
CALL METHOD var_referencia->MTODO
Para los componentes estticos se pueden usar tanto el nombre de la clase
como la variable de referencia:
nombre_clase=>ATRIBUTO
CALL METHOD nombre_clase=>MTODO
Dentro de una clase se puede acceder tambin a los componentes
individuales mediante la referencia a s misma ME:
ME->ATRIBUTO
ME->MTODO
Page 43 of 19