Upload
diego-leon
View
280
Download
6
Embed Size (px)
Citation preview
8/18/2019 01 ABAP Objects
1/43
Coritel Spain Delivery Centre
ABAP Orientado a
ObjetosIntroducción a ABAP Objects
Abril 2007
ABAP Orientado a
Objetos
8/18/2019 01 ABAP Objects
2/43
©2005 Coritel. All rights reservedPage 2 of 19
Contenido
1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos
2) Conceptos de Objeto ! Clase
") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'
• Consistencia
• (ncapsulación
• erencia
• Polimor*ismo
8/18/2019 01 ABAP Objects
3/43
©2005 Coritel. All rights reservedPage 3 of 19
Contenido
+) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas
.) Principios de Objetos , Creación de clases globales ! locales
• -ransacción se2+
• (jemplos
8/18/2019 01 ABAP Objects
4/43
©2005 Coritel. All rights reservedPage 4 of 19
Contenido
1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos
2) Conceptos de Objeto ! Clase
") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'
• Consistencia
• (ncapsulación
• erencia
• Polimor*ismo
8/18/2019 01 ABAP Objects
5/43
©2005 Coritel. All rights reservedPage 5 of 19
1. Prog. Procedural vs. Prog.Orientada a Objetos
P/OC(/A
• as *unciones se de*inenindependientemente delas estructuras de datos
• 3e accede de *ormadirecta a los datos
O/I(4-AA A OB5(-O3
• Agrupación de datos !*unciones en 6clases
• Creación de 6objetos
con las propiedades !comportamientosde*inidos en las 6clases
8/18/2019 01 ABAP Objects
6/43
©2005 Coritel. All rights reservedPage 6 of 19
1. Prog. Procedural vs. Prog.Orientada a Objetos
8rupo de 9unciones
• atos globales al grupode *unciones
• :ódulos de *unciones
Clases
• Atributos
• :%todos
8/18/2019 01 ABAP Objects
7/43©2005 Coritel. All rights reserved
Page 7 of 19
Contenido
1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos
2) Conceptos de Objeto ! Clase
") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'
• Consistencia
• (ncapsulación
• erencia
• Polimor*ismo
8/18/2019 01 ABAP Objects
8/43©2005 Coritel. All rights reserved
Page 8 of 19
2. Conceptos de Objeto Clase
OB5(-O3'
• 3on una abstracción del mundo real
• nidades compuestas de datos ! *unciones
pertenecientes a dic;os datos
Método
Método
Avión
Atributos
8/18/2019 01 ABAP Objects
9/43©2005 Coritel. All rights reserved
Page 9 of 19
2. Conceptos de Objeto Clase
CA3(3
• (ntidad teórica
8/18/2019 01 ABAP Objects
10/43©2005 Coritel. All rights reserved
Page 1$ of 19
2. Conceptos de Objeto Clase
Propiedades de los Objetos'
• (ncapsulación Objetos restringen la visibilidad de sus recursos
=m%todos ! atributos) al resto de objetos
• Polimor*ismo :%todos ación de clases !a de*inidas para la creación de
nuevas clases =3uperclases ! subclases)
8/18/2019 01 ABAP Objects
11/43©2005 Coritel. All rights reservedPage 11 of 19
Contenido
1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos
2) Conceptos de Objeto ! Clase
") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'
• Consistencia
• (ncapsulación
• erencia
• Polimor*ismo
8/18/2019 01 ABAP Objects
12/43©2005 Coritel. All rights reservedPage 12 of 19
!. ABAP Objects
#$u% es ABAP Objects&
• (?tensión Compatible de ABAP
• as sentencias de ABAP 6objects se pueden usaren los programas 6convencionales de ABAP@ !viceversa
• ABAP 6objects no es un lenguaje nuevo@ ;a sidodesarrollado como una e?tensión de ABAP
8/18/2019 01 ABAP Objects
13/43©2005 Coritel. All rights reservedPage 13 of 19
!. ABAP Objects
entajas'
• Consistencia durante el proceso de desarrollo(l lenguaje utili>ado durante el proceso de desarrollo
es uni*orme@ lo ideal sera adas durante la *ase de implementación sere*lejarn directamente en el diseDo
• (ncapsulación a implementación de un objeto es oculta para los
dems objetos del sistema@ as
8/18/2019 01 ABAP Objects
14/43©2005 Coritel. All rights reservedPage 14 of 19
!. ABAP Objects
entajas'
• Polimor*ismon objeto en di*erentes clases puede tener
di*erentes reacciones a un mismo mensaje
• erenciae*ine la implementación de la relación entre
clases@ en la cual una clase =la subclase) compartela estructura =atributos) ! el comportamiento=m%todos) de*inidos en una o ms clases=superclases)
4ota' (n ABAP solo est permitida la ;erencia simple
8/18/2019 01 ABAP Objects
15/43©2005 Coritel. All rights reservedPage 15 of 19
Contenido
+) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas
.) Principios de Objetos , Creación de clases globales ! locales
• -ransacción se2+
• (jemplos
8/18/2019 01 ABAP Objects
16/43©2005 Coritel. All rights reservedPage 16 of 19
". ABAP Objects # $ipo de tablas
nión entre tipos de tablas ! tipos de acceso
8/18/2019 01 ABAP Objects
17/43©2005 Coritel. All rights reservedPage 17 of 19
". ABAP Objects # $ipo de tablas
-ipos de de*inición para tablas internas
8/18/2019 01 ABAP Objects
18/43©2005 Coritel. All rights reservedPage 18 of 19
". ABAP Objects # $ipo de tablas
e*inición del tipo de una tabla interna
8/18/2019 01 ABAP Objects
19/43©2005 Coritel. All rights reserved
Page 19 of 19
". ABAP Objects # $ipo de tablas
Atributo de la tabla' -ipo de tabla
8/18/2019 01 ABAP Objects
20/43©2005 Coritel. All rights reserved
Page 2$ of 19
". ABAP Objects # $ipo de tablas
Atributo de la tabla' -ipo de lnea
8/18/2019 01 ABAP Objects
21/43©2005 Coritel. All rights reserved
Page 21 of 19
". ABAP Objects # $ipo de tablas
(jemplo' 3-A4A/ -AB( con tipo local
8/18/2019 01 ABAP Objects
22/43©2005 Coritel. All rights reserved
Page 22 of 19
". ABAP Objects # $ipo de tablas
(jemplo' 3O/-( ! A3( -AB(
8/18/2019 01 ABAP Objects
23/43©2005 Coritel. All rights reserved
Page 23 of 19
". ABAP Objects # $ipo de tablas
-ipos de Operaciones
8/18/2019 01 ABAP Objects
24/43©2005 Coritel. All rights reserved
Page 24 of 19
". ABAP Objects # $ipo de tablas
Operaciones' I43(/-
8/18/2019 01 ABAP Objects
25/43
©2005 Coritel. All rights reservedPage 25 of 19
". ABAP Objects # $ipo de tablas
Operaciones' /(A de 1 Enica entrada a un ForGarea usando el nH de lnea
8/18/2019 01 ABAP Objects
26/43
©2005 Coritel. All rights reservedPage 26 of 19
". ABAP Objects # $ipo de tablas
Operaciones' /(A de 1 Enica entrada a un ForGarea usando el contenido del campo
8/18/2019 01 ABAP Objects
27/43
©2005 Coritel. All rights reservedPage 27 of 19
". ABAP Objects # $ipo de tablas
Operaciones' /(A de 1 Enica entrada usando un 9ield,3!mbol
8/18/2019 01 ABAP Objects
28/43
©2005 Coritel. All rights reservedPage 28 of 19
". ABAP Objects # $ipo de tablas
Operaciones' :OI9 usando un ForGarea
8/18/2019 01 ABAP Objects
29/43
©2005 Coritel. All rights reservedPage 29 of 19
". ABAP Objects # $ipo de tablas
Operaciones' :OI9 de 1 Enica entrada usando un 9ield,3!mbol
8/18/2019 01 ABAP Objects
30/43
©2005 Coritel. All rights reservedPage 3$ of 19
". ABAP Objects # $ipo de tablas
Operaciones' ((-(
8/18/2019 01 ABAP Objects
31/43
©2005 Coritel. All rights reservedPage 31 of 19
". ABAP Objects # $ipo de tablas
Operaciones' Proceso de un OOP
8/18/2019 01 ABAP Objects
32/43
©2005 Coritel. All rights reservedPage 32 of 19
". ABAP Objects # $ipo de tablas
Operaciones' OvervieF
8/18/2019 01 ABAP Objects
33/43
©2005 Coritel. All rights reservedPage 33 of 19
". ABAP Objects # $ipo de tablas
3ituaciones especiales' -ablas internas con cabecera
8/18/2019 01 ABAP Objects
34/43
©2005 Coritel. All rights reservedPage 34 of 19
Contenido
+) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas
.) Principios de Objetos , Creación de clases globales ! locales
• -ransacción se2+
• (jemplos
8/18/2019 01 ABAP Objects
35/43
©2005 Coritel. All rights reservedPage 35 of 19
5. Principios% Objetos
n objeto viene caracteri>ado por'
• Identidad
• 3tatus =Atributos)
• Comportamiento =:%todos)
Identidad'
Cada objeto generado a partir de una clase tiene su propiaidentidad =Cada objeto es 4ICO)
8/18/2019 01 ABAP Objects
36/43
©2005 Coritel. All rights reservedPage 36 of 19
5. Principios% Clases
Clases ,J Plantillas para los objetos
eclaración
CA33 KnombreLclaseJ (9I4I-IO4
M
(4CA33
Implementación
CA33 KnombreLclaseJ I:P(:(4-A-IO4
M
(4CA33
(n la de*inición declaramos loscomponentes de la clase'
Atributos(ventos
:%todos
(n la implementación reali>amosla codi*icación en s de losm%todos =implementación)
8/18/2019 01 ABAP Objects
37/43
©2005 Coritel. All rights reservedPage 37 of 19
5. Principios% Clases
Componentes de las ClasesAtributos
3on los datos en s ! representan elstatus del objeto
e Instancia'
A-A M -P( M
(stticos'
CA33,A-A M -P( M
:%todos
3on los procedimientos internos de unaclase
8/18/2019 01 ABAP Objects
38/43
©2005 Coritel. All rights reservedPage 38 of 19
5. Principios% Clases
isibilidada parte declarativa de una clase se divide en " reas'
CA33 KnombreLclaseJ (9I4I-IO4
PBIC 3(C-IO4
A-AM:(-O3M
P/IA-( 3(C-IO4
A-AM
:(-O3M
P/O-(C-( 3(C-IO4
A-AM
:(-O3M
(4CA33
PBIC 3(C-IO4' $odos los co&ponentes son accesiblespara todos los usuarios de la clase para todos los
&'todos de la clase de cual(uier clase (ue herede deella. I4-(/9AN (4-/( 3A/IO CA3(
P/IA-( 3(C-IO4' )os co&ponentes s*lo son visibles enlos &'todos de la &is&a clase. 4O 9O/:A4 PA/-( (A I4-(/9AN (-(/4A ( A CA3(
P/O-(C-( 3(C-IO4' )os co&ponentes s*lo son visiblesen los &'todos de la &is&a clase de las subclases (ue
hereden de ella. I4-(/9AN (4-/( CA3( 3BCA3(3
5 P i i i
8/18/2019 01 ABAP Objects
39/43
©2005 Coritel. All rights reservedPage 39 of 19
5. Principios Clases +lobales )ocales
)as clases +lobales se de,inen en el generador de clases en el ABAP-orbench /2" todos los progra&as ABAP pueden acceder a lasclases globales.
)as clases locales se de,inen en un progra&a ABAP solo pueden serinvocadas desde los progra&as en (ue se de,inen.
C)A 3classna&e4 6787$7O8.
8C)A.
C)A 3classna&e4 79P)98$A$7O8.
8C)A.
8/18/2019 01 ABAP Objects
40/43
©2005 Coritel. All rights reservedPage 4$ of 19
5. PrincipiosAtributos% eclaraci*n
C)A >clLejemplo 6787$7O8.
CO8$A8$%
c:,ijo $;P P
p:resultado $;P p ?A#O8);.
8C)A.
5 P i i i
8/18/2019 01 ABAP Objects
41/43
©2005 Coritel. All rights reservedPage 41 of 19
5. Principios9'todos% eclaraci*n
C)A >clLejemplo 6787$7O8.
9$@O%
9:8=9?O:A)A$O?7O
79PO?$78+ i:para&eter $;P
PO?$78+ e:para&eter $;P
C@A8+78+ c:para&eter $;P
?$=?878+
9:OB$8?:78clLejemplo 79P)98$A$7O8.
9$@O 9:8=9?O:A)A$O?7O.
89$@O.
9$@O 9:OB$8?:78
8/18/2019 01 ABAP Objects
42/43
©2005 Coritel. All rights reservedPage 42 of 19
5. PrincipiosObjetos% Creaci*n
Antes de crear un objeto de una clase es necesario declararuna variable de re*erencia'
A-A' KvarLre*erenciaJ -P( /(9 -O KnombreLclaseJ
na ve> declarada la variable@ el objeto se crea con lasentencia'
C/(A-( OB5(C- KvarLre*erenciaJ
A$A% l:re,:Fcl:eje&plo -P( /(9 -O Fcl:eje&plo.
C?A$ OBGC$ l:re,:Fcl:eje&plo.
5 P i i i
8/18/2019 01 ABAP Objects
43/43
5. PrincipiosObjetos% Acceso a co&ponentes
os programas sólo pueden acceder a los componentes de las instanciasusando las re*erencias de las variables re*erenciadas'
varLre*erencia,JA-/IB-O
CA :(-O varLre*erencia,J:-OO
Para los componentes estticos se pueden usar tanto el nombre de la clasecomo la variable de re*erencia'
nombreLclaseQJA-/IB-O
CA :(-O nombreLclaseQJ:-OO
entro de una clase se puede acceder tambi%n a los componentesindividuales mediante la re*erencia a s misma :('
:(,JA-/IB-O
:(,J:-OO