SlideShare ist ein Scribd-Unternehmen logo
1 von 25
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Java OOP s concepts and buzzwords
Java OOP s concepts and buzzwordsJava OOP s concepts and buzzwords
Java OOP s concepts and buzzwords
 
Implementing a LED LightBar solution on Android system
Implementing a LED LightBar solution on Android systemImplementing a LED LightBar solution on Android system
Implementing a LED LightBar solution on Android system
 
Introduction to OOP concepts
Introduction to OOP conceptsIntroduction to OOP concepts
Introduction to OOP concepts
 
ResNet basics (Deep Residual Network for Image Recognition)
ResNet basics (Deep Residual Network for Image Recognition)ResNet basics (Deep Residual Network for Image Recognition)
ResNet basics (Deep Residual Network for Image Recognition)
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry PiEmbedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
 
You only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detectionYou only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detection
 
Optimizers
OptimizersOptimizers
Optimizers
 
Object Oriented Programming Concepts for beginners
Object Oriented Programming Concepts for beginners Object Oriented Programming Concepts for beginners
Object Oriented Programming Concepts for beginners
 
Introduction to Object Oriented Programming
Introduction to Object Oriented ProgrammingIntroduction to Object Oriented Programming
Introduction to Object Oriented Programming
 
Logging Application Behavior to MongoDB
Logging Application Behavior to MongoDBLogging Application Behavior to MongoDB
Logging Application Behavior to MongoDB
 
Data abstraction and object orientation
Data abstraction and object orientationData abstraction and object orientation
Data abstraction and object orientation
 
Oop Presentation
Oop PresentationOop Presentation
Oop Presentation
 
Introduction of slam
Introduction of slamIntroduction of slam
Introduction of slam
 
OOPS Basics With Example
OOPS Basics With ExampleOOPS Basics With Example
OOPS Basics With Example
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseño
 
JAVA PROGRAMMING
JAVA PROGRAMMING JAVA PROGRAMMING
JAVA PROGRAMMING
 
YOLOv4: optimal speed and accuracy of object detection review
YOLOv4: optimal speed and accuracy of object detection reviewYOLOv4: optimal speed and accuracy of object detection review
YOLOv4: optimal speed and accuracy of object detection review
 
Yolov3
Yolov3Yolov3
Yolov3
 
3 java - variable type
3  java - variable type3  java - variable type
3 java - variable type
 

Andere mochten auch (10)

Web dynpro for abap 03
Web dynpro for abap 03Web dynpro for abap 03
Web dynpro for abap 03
 
Web dynpro for abap 02
Web dynpro for abap 02Web dynpro for abap 02
Web dynpro for abap 02
 
Derga sap invoice management
Derga sap invoice managementDerga sap invoice management
Derga sap invoice management
 
Web dynpro for abap 01
Web dynpro for abap 01Web dynpro for abap 01
Web dynpro for abap 01
 
User exit vendite
User exit venditeUser exit vendite
User exit vendite
 
SAP Business One 9.0 B1A & B1H overview per Clienti - Luglio 2013
SAP Business One 9.0 B1A & B1H  overview per Clienti - Luglio 2013SAP Business One 9.0 B1A & B1H  overview per Clienti - Luglio 2013
SAP Business One 9.0 B1A & B1H overview per Clienti - Luglio 2013
 
Abap function module help
Abap function module helpAbap function module help
Abap function module help
 
Sapscript
SapscriptSapscript
Sapscript
 
sap script overview
sap script overviewsap script overview
sap script overview
 
Sap script made easy
Sap script made easySap script made easy
Sap script made easy
 

Ähnlich wie Corso ABAP OO 01

Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb AccenniLezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
Rice Cipriani
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
Dario Rusignuolo
 
Actionscript 3 Design Pattern
Actionscript 3 Design PatternActionscript 3 Design Pattern
Actionscript 3 Design Pattern
luca mezzalira
 

Ähnlich wie Corso ABAP OO 01 (20)

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

Kürzlich hochgeladen

Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
lorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
giorgiadeascaniis59
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
nico07fusco
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
lorenzodemidio01
 

Kürzlich hochgeladen (20)

Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 

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