SlideShare a Scribd company logo
ABAP OBJECTS
Agenda del corso

•   Dai function module agli oggetti
•   Definizione di una classe
•   Oggetti e metodi
•   Incapsulamento, ereditarietà, polimorfismo
•   Interfacce
•   Eventi



                                          2
Agenda del corso

•   Dai function module agli oggetti
•   Definizione di una classe
•   Oggetti e metodi
•   Incapsulamento, ereditarietà, polimorfismo
•   Interfacce
•   Eventi



                                          3
Dai function module agli oggetti



Paradigmi di programmazione

• Programmazione Procedurale

• Programmazione Modulare

• Programmazione ad Oggetti




                                    4
Dai function module agli oggetti



Programmazione
Procedurale

• Il concetto base è
  quello di raggruppare
  i pezzi di programma
  ripetuti in porzioni di
  codice utilizzabili e
  richiamabili ogni volta
  che se ne presenti
  l'esigenza (Perform)

                                            5
Dai function module agli oggetti



Programmazione
Modulare

• Le procedure aventi un
  dominio comune (ad
  esempio, procedure che
  eseguono       operazioni
  matematiche) vengono
  raggruppate in moduli
  separati. (Call-Function)


                                            6
Dai function module agli oggetti



Programmazione
Orientata agli Oggetti

• E’ basata sul fatto che
  esistono una serie di
  oggetti che interagiscono
  vicendevolmente,
  scambiandosi messaggi
  ma mantenendo ognuno
  il proprio stato ed i propri
  dati

                                            7
Dai function module agli oggetti


  Programmazione ad Oggetti

• La programmazione orientata agli oggetti o OOP, è
  una metodologia di programmazione la cui
  caratteristica principale è il concetto di oggetto

• Nella OOP tutto si basa, in maniera uniforme, sul
  concetto di Oggetto: ogni singolo programma, dal più
  semplice al più complesso, si basa su un insieme di
  Oggetti che interagiscono tra di loro


                                                  8
Dai function module agli oggetti


  Ma cos'è alla fine un oggetto?



• Per capire cos’è un oggetto prendiamo spunto dalla
  vita reale: un oggetto è un’automobile, un computer,
  una casa, e così via




                                                  9
Dai function module agli oggetti


  Ma cos'è alla fine un oggetto?

• Ogni automobile ha determinate caratteristiche:
  colore, numero di porte, cilindrata, velocità massima,
  modello, casa costruttrice e così via.

• Un'automobile però non è solo un oggetto statico, ma
  può svolgere alcune azioni, come: svoltare a destra,
  accelerare, frenare, cambiare marcia eccetera.



                                                    10
Dai function module agli oggetti


  Programmazione ad Oggetti

• Nella terminologia OOP le caratteristiche di un oggetto
  vengono chiamate attributi

• I metodi sono le operazioni che un oggetto è in grado
  di compiere

• Un oggetto è quindi formato da attributi e metodi


                                                      11
Dai function module agli oggetti


  Gli attributi di un Oggetto

• Gli attributi costituiscono lo stato di un oggetto, in altre
  parole lo caratterizzano e permettono di distinguerlo
  da un altro.

• Si tratta in definitiva delle "vecchie" variabili, con in più
  alcune proprietà che andremo a descrivere più avanti.




                                                         12
Dai function module agli oggetti


  I metodi di un Oggetto

• I metodi, o funzioni, o messaggi, caratterizzano invece
  il comportamento di un oggetto, definiscono cioè come
  questo oggetto si comporta, come modifica i propri
  dati o come interagisce con altri oggetti.




                                                   13
Dai function module agli oggetti


  Perché utilizzare il paradigma Object-Oriented?

• Migliore la qualità del software

• Scomposizione di programmi complessi in oggetti più
  piccoli e semplici

• Manutenzione più semplice e veloce

• Riutilizzo del codice

                                                    14
Dai function module agli oggetti




• L’ABAP è un linguaggio di programmazione di
  4° generazione

• Questo vuol dire che può essere utilizzato come un
  linguaggio procedurale di 3° generazione ma che
  rispetto ad essi ha maggiori potenzialità




                                                15
Dai function module agli oggetti




• Nel linguaggio
  ABAP classico la
  cosa più simile
  agli oggetti sono
  i gruppi funzioni




                                           16
Dai function module agli oggetti




• I dati globali del
  gruppo possono
  essere visti come
  attributi

• I moduli funzione
  (Call-Function)
  possono essere
  paragonati ai
  metodi

                                            17
Dai function module agli oggetti




• I dati globali del
  gruppo possono
  essere visti come
  attributi

• I moduli funzione
  (Call-Function)
  possono essere
  paragonati ai
  metodi

                                            18
Dai function module agli oggetti




• I dati globali del
  gruppo possono
  essere visti come
  attributi

• I moduli funzione
  (Call-Function)
  possono essere
  paragonati ai
  metodi

                                            19
Dai function module agli oggetti




• La differenza fondamentale è che un oggetto può
  essere istanziato più volte mentre un gruppo funzioni
  no

• In altre parole questo significa che non si possono
  creare più copie delle variabili globali di un gruppo
  funzioni




                                                   20
Dai function module agli oggetti


  Istanziare un oggetto

• Ad un preciso oggetto assegniamo un nome:
  chiameremo quindi un oggetto di classe automobile
  auto1

• Quindi l’oggetto auto1 potrà essere così descritto:
  - Velocità = 80
  - Colore = rosso
  - Marca = bmw


                                                 21
Dai function module agli oggetti


  Istanziare un oggetto

• Un altro oggetto auto2 potrò avere le seguenti
   caratteristiche:
  - Velocità = 60
  - Colore = nero
  - Marca = fiat

• Quindi gli oggetti sono diversi a seconda del valore
  assunto dalle loro caratteristiche, ma condividono la
  stessa struttura

                                                   22
Dai function module agli oggetti




• L’ABAP Objects è un estensione del normale
  linguaggio ABAP

• L’ABAP Objects compare per la prima volta nella
  release 4.5 ma è ancora una versione incompleta

• A partire dalle release 4.6 vengono aggiunte
  l’ereditarietà, e le interfacce



                                                 23
Dai function module agli oggetti




                           24
ESSENTIA.COM srl

Via Druento, 290 - 10078 Venaria Reale (TO)
Tel.: 011 – 4560.511 fax: 011 – 4560.577

Via Nizza, 56 – 00198 Roma
Tel.: 06 – 85305570    fax: 06 – 85800504

Mail:   inforoma@e-ssentia.it
Web:    www.e-ssentia.com




                                     Powerd by
                                Bossù Piergiorgio

More Related Content

PPT
Corso ABAP OO 04
PDF
Variant configuration-training-document
PDF
OOP with C#
PPT
ABAP Object oriented concepts
PDF
Abap object-oriented-programming-tutorials
PDF
Installed base configuration steps.doc
PDF
Oaf personalization examples
PPTX
Oops abap fundamental
Corso ABAP OO 04
Variant configuration-training-document
OOP with C#
ABAP Object oriented concepts
Abap object-oriented-programming-tutorials
Installed base configuration steps.doc
Oaf personalization examples
Oops abap fundamental

What's hot (20)

PPT
Sap abap ale idoc
DOCX
Sap material movement types
PDF
Stock transfer between_plant_usingdeliveryorder
PPT
Purchasing 11i.5.10 Training
PPT
Oracle Forms Triggers
PPT
Oracle Apps - Forms
PPTX
Software Architecture Views and Viewpoints
PDF
Ooabap notes with_programs
PDF
Factory Design Pattern
PPT
Oracle Forms Tutorial (www.aboutoracleapps.com)
PDF
SAP Make to Stock Variant Configurations_Akshay Kulkarni
PPTX
Object oriented approach to ALV Lists in ABAP
PPTX
Xporter for Jira - Advanced topics
PDF
Object-Oriented Programming (OOP)
PPT
Oracle Forms: create debug triggers
PPTX
SAP Modularization techniques
PPT
Valuated Goods Receipt
PPT
Oracle Forms- key triggers
PPTX
Dependency injection presentation
PDF
ツライと評判のAndroid BLEを頑張って使い続けた話
Sap abap ale idoc
Sap material movement types
Stock transfer between_plant_usingdeliveryorder
Purchasing 11i.5.10 Training
Oracle Forms Triggers
Oracle Apps - Forms
Software Architecture Views and Viewpoints
Ooabap notes with_programs
Factory Design Pattern
Oracle Forms Tutorial (www.aboutoracleapps.com)
SAP Make to Stock Variant Configurations_Akshay Kulkarni
Object oriented approach to ALV Lists in ABAP
Xporter for Jira - Advanced topics
Object-Oriented Programming (OOP)
Oracle Forms: create debug triggers
SAP Modularization techniques
Valuated Goods Receipt
Oracle Forms- key triggers
Dependency injection presentation
ツライと評判のAndroid BLEを頑張って使い続けた話
Ad

Viewers also liked (12)

PPT
Corso ABAP OO 02
PPT
Corso ABAP OO 03
PPT
Web dynpro for abap 03
PPT
Web dynpro for abap 02
PDF
Derga sap invoice management
PPT
Web dynpro for abap 01
RTF
User exit vendite
PPTX
SAP Business One 9.0 B1A & B1H overview per Clienti - Luglio 2013
PPT
Abap function module help
PPT
Sapscript
PPT
sap script overview
PDF
Sap script made easy
Corso ABAP OO 02
Corso ABAP OO 03
Web dynpro for abap 03
Web dynpro for abap 02
Derga sap invoice management
Web dynpro for abap 01
User exit vendite
SAP Business One 9.0 B1A & B1H overview per Clienti - Luglio 2013
Abap function module help
Sapscript
sap script overview
Sap script made easy
Ad

Similar to Corso ABAP OO 01 (20)

PPTX
C#, imparare a programmare e sopravvivere
PDF
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
PPT
Java Programming Language
PPTX
ios 8 - parte 1 - intro - ita
PDF
Programmazione funzionale e Stream in Java
PDF
Repository pattern slides v1.1
PDF
Repository pattern
PPTX
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
PDF
Approccio Pratico al Domain Driven Design
PDF
Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...
PPTX
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
PDF
Actionscript 3 Design Pattern
PDF
Corso Unified Modeling Language (UML)
PDF
Presentazione framework Symfony
KEY
Drupal Day 2011 - Drupal per la ricerca, il caso EAI
PPTX
Scala: come recuperare la programmazione funzionale e perché
PPTX
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
PPT
Okoa2016long v2
PDF
Delphi & Dintorni Webinar - Diventa un mago del Testing
C#, imparare a programmare e sopravvivere
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
Java Programming Language
ios 8 - parte 1 - intro - ita
Programmazione funzionale e Stream in Java
Repository pattern slides v1.1
Repository pattern
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
Approccio Pratico al Domain Driven Design
Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
Actionscript 3 Design Pattern
Corso Unified Modeling Language (UML)
Presentazione framework Symfony
Drupal Day 2011 - Drupal per la ricerca, il caso EAI
Scala: come recuperare la programmazione funzionale e perché
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
Okoa2016long v2
Delphi & Dintorni Webinar - Diventa un mago del Testing

Recently uploaded (9)

PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PPTX
Copia di PROGETTO VIOLENZA sulle donne PCTO
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
Copia di PROGETTO VIOLENZA sulle donne PCTO
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...

Corso ABAP OO 01

  • 2. Agenda del corso • Dai function module agli oggetti • Definizione di una classe • Oggetti e metodi • Incapsulamento, ereditarietà, polimorfismo • Interfacce • Eventi 2
  • 3. Agenda del corso • Dai function module agli oggetti • Definizione di una classe • Oggetti e metodi • Incapsulamento, ereditarietà, polimorfismo • Interfacce • Eventi 3
  • 4. Dai function module agli oggetti Paradigmi di programmazione • Programmazione Procedurale • Programmazione Modulare • Programmazione ad Oggetti 4
  • 5. Dai function module agli oggetti Programmazione Procedurale • Il concetto base è quello di raggruppare i pezzi di programma ripetuti in porzioni di codice utilizzabili e richiamabili ogni volta che se ne presenti l'esigenza (Perform) 5
  • 6. Dai function module agli oggetti Programmazione Modulare • Le procedure aventi un dominio comune (ad esempio, procedure che eseguono operazioni matematiche) vengono raggruppate in moduli separati. (Call-Function) 6
  • 7. Dai function module agli oggetti Programmazione Orientata agli Oggetti • E’ basata sul fatto che esistono una serie di oggetti che interagiscono vicendevolmente, scambiandosi messaggi ma mantenendo ognuno il proprio stato ed i propri dati 7
  • 8. Dai function module agli oggetti Programmazione ad Oggetti • La programmazione orientata agli oggetti o OOP, è una metodologia di programmazione la cui caratteristica principale è il concetto di oggetto • Nella OOP tutto si basa, in maniera uniforme, sul concetto di Oggetto: ogni singolo programma, dal più semplice al più complesso, si basa su un insieme di Oggetti che interagiscono tra di loro 8
  • 9. Dai function module agli oggetti Ma cos'è alla fine un oggetto? • Per capire cos’è un oggetto prendiamo spunto dalla vita reale: un oggetto è un’automobile, un computer, una casa, e così via 9
  • 10. Dai function module agli oggetti Ma cos'è alla fine un oggetto? • Ogni automobile ha determinate caratteristiche: colore, numero di porte, cilindrata, velocità massima, modello, casa costruttrice e così via. • Un'automobile però non è solo un oggetto statico, ma può svolgere alcune azioni, come: svoltare a destra, accelerare, frenare, cambiare marcia eccetera. 10
  • 11. Dai function module agli oggetti Programmazione ad Oggetti • Nella terminologia OOP le caratteristiche di un oggetto vengono chiamate attributi • I metodi sono le operazioni che un oggetto è in grado di compiere • Un oggetto è quindi formato da attributi e metodi 11
  • 12. Dai function module agli oggetti Gli attributi di un Oggetto • Gli attributi costituiscono lo stato di un oggetto, in altre parole lo caratterizzano e permettono di distinguerlo da un altro. • Si tratta in definitiva delle "vecchie" variabili, con in più alcune proprietà che andremo a descrivere più avanti. 12
  • 13. Dai function module agli oggetti I metodi di un Oggetto • I metodi, o funzioni, o messaggi, caratterizzano invece il comportamento di un oggetto, definiscono cioè come questo oggetto si comporta, come modifica i propri dati o come interagisce con altri oggetti. 13
  • 14. Dai function module agli oggetti Perché utilizzare il paradigma Object-Oriented? • Migliore la qualità del software • Scomposizione di programmi complessi in oggetti più piccoli e semplici • Manutenzione più semplice e veloce • Riutilizzo del codice 14
  • 15. Dai function module agli oggetti • L’ABAP è un linguaggio di programmazione di 4° generazione • Questo vuol dire che può essere utilizzato come un linguaggio procedurale di 3° generazione ma che rispetto ad essi ha maggiori potenzialità 15
  • 16. Dai function module agli oggetti • Nel linguaggio ABAP classico la cosa più simile agli oggetti sono i gruppi funzioni 16
  • 17. Dai function module agli oggetti • I dati globali del gruppo possono essere visti come attributi • I moduli funzione (Call-Function) possono essere paragonati ai metodi 17
  • 18. Dai function module agli oggetti • I dati globali del gruppo possono essere visti come attributi • I moduli funzione (Call-Function) possono essere paragonati ai metodi 18
  • 19. Dai function module agli oggetti • I dati globali del gruppo possono essere visti come attributi • I moduli funzione (Call-Function) possono essere paragonati ai metodi 19
  • 20. Dai function module agli oggetti • La differenza fondamentale è che un oggetto può essere istanziato più volte mentre un gruppo funzioni no • In altre parole questo significa che non si possono creare più copie delle variabili globali di un gruppo funzioni 20
  • 21. Dai function module agli oggetti Istanziare un oggetto • Ad un preciso oggetto assegniamo un nome: chiameremo quindi un oggetto di classe automobile auto1 • Quindi l’oggetto auto1 potrà essere così descritto: - Velocità = 80 - Colore = rosso - Marca = bmw 21
  • 22. Dai function module agli oggetti Istanziare un oggetto • Un altro oggetto auto2 potrò avere le seguenti caratteristiche: - Velocità = 60 - Colore = nero - Marca = fiat • Quindi gli oggetti sono diversi a seconda del valore assunto dalle loro caratteristiche, ma condividono la stessa struttura 22
  • 23. Dai function module agli oggetti • L’ABAP Objects è un estensione del normale linguaggio ABAP • L’ABAP Objects compare per la prima volta nella release 4.5 ma è ancora una versione incompleta • A partire dalle release 4.6 vengono aggiunte l’ereditarietà, e le interfacce 23
  • 24. Dai function module agli oggetti 24
  • 25. ESSENTIA.COM srl Via Druento, 290 - 10078 Venaria Reale (TO) Tel.: 011 – 4560.511 fax: 011 – 4560.577 Via Nizza, 56 – 00198 Roma Tel.: 06 – 85305570 fax: 06 – 85800504 Mail: inforoma@e-ssentia.it Web: www.e-ssentia.com Powerd by Bossù Piergiorgio