SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados (20)

Python: Multiple Inheritance
Python: Multiple InheritancePython: Multiple Inheritance
Python: Multiple Inheritance
 
Programacion orientada
Programacion orientadaProgramacion orientada
Programacion orientada
 
Chapter 2 - Getting Started with Java
Chapter 2 - Getting Started with JavaChapter 2 - Getting Started with Java
Chapter 2 - Getting Started with Java
 
Object-Oriented Programming Concepts
Object-Oriented Programming ConceptsObject-Oriented Programming Concepts
Object-Oriented Programming Concepts
 
Methods and constructors in java
Methods and constructors in javaMethods and constructors in java
Methods and constructors in java
 
Java OO Tema 04 Alcance de Clase
Java OO Tema 04 Alcance de ClaseJava OO Tema 04 Alcance de Clase
Java OO Tema 04 Alcance de Clase
 
Clase 2
Clase 2 Clase 2
Clase 2
 
Unt 3 attributes, methods, relationships-1
Unt 3 attributes, methods, relationships-1Unt 3 attributes, methods, relationships-1
Unt 3 attributes, methods, relationships-1
 
Python programming : Inheritance and polymorphism
Python programming : Inheritance and polymorphismPython programming : Inheritance and polymorphism
Python programming : Inheritance and polymorphism
 
Class or Object
Class or ObjectClass or Object
Class or Object
 
Inheritance
InheritanceInheritance
Inheritance
 
OOP Basics
OOP BasicsOOP Basics
OOP Basics
 
Concept of OOPS with real life examples
Concept of OOPS with real life examplesConcept of OOPS with real life examples
Concept of OOPS with real life examples
 
Concepts of oops
Concepts of oopsConcepts of oops
Concepts of oops
 
Basic concepts of oops
Basic concepts of oopsBasic concepts of oops
Basic concepts of oops
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
 
inheritance
inheritanceinheritance
inheritance
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Types of methods in python
Types of methods in pythonTypes of methods in python
Types of methods in python
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 

Destaque

Derga sap invoice management
Derga sap invoice managementDerga sap invoice management
Derga sap invoice managementDerga Consulting
 
User exit vendite
User exit venditeUser exit vendite
User exit venditeadesantis
 
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 2013Massimo Sala
 
Abap function module help
Abap function module helpAbap function module help
Abap function module helpKranthi Kumar
 
Sap script made easy
Sap script made easySap script made easy
Sap script made easyKranthi Kumar
 

Destaque (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
 

Semelhante a Corso ABAP OO 01

C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereMatteo Valoriani
 
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 AccenniRice Cipriani
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming LanguagePasquale Paola
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaDario Rusignuolo
 
Programmazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaProgrammazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaCristina Attori
 
Repository pattern slides v1.1
Repository pattern slides v1.1Repository pattern slides v1.1
Repository pattern slides v1.1Christian Nastasi
 
Approccio Pratico al Domain Driven Design
Approccio Pratico al Domain Driven DesignApproccio Pratico al Domain Driven Design
Approccio Pratico al Domain Driven DesignLuca Milan
 
Actionscript 3 Design Pattern
Actionscript 3 Design PatternActionscript 3 Design Pattern
Actionscript 3 Design Patternluca mezzalira
 
Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)K-Tech Formazione
 
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 EAIDrupalDay
 
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éEdmondo Porcu
 
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 2014Marco Parenzan
 
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 TestingMarco Breveglieri
 

Semelhante a 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
 

Último

Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
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.pptxtecongo2007
 
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...pptxtecongo2007
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
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 CivicaSalvatore Cianciabella
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
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.pptxtecongo2007
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 

Último (19)

Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).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
 
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
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
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
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
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
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.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