corso abap oo 01
DESCRIPTION
Prima parte di un corso sulla programmazione ABAP ad Oggetti tenuto da meTRANSCRIPT
![Page 1: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/1.jpg)
ABAP OBJECTS
![Page 2: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/2.jpg)
Agenda del corso
• Dai function module agli oggetti• Definizione di una classe• Oggetti e metodi• Incapsulamento, ereditarietà,
polimorfismo• Interfacce• Eventi
2
![Page 3: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/3.jpg)
Agenda del corso
• Dai function module agli oggetti• Definizione di una classe• Oggetti e metodi• Incapsulamento, ereditarietà,
polimorfismo• Interfacce• Eventi
3
![Page 4: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/4.jpg)
Dai function module agli oggetti
Paradigmi di programmazione
• Programmazione Procedurale
• Programmazione Modulare
• Programmazione ad Oggetti
4
![Page 5: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/5.jpg)
Dai function module agli oggetti
Programmazione
Procedurale
• Il concetto base è Il concetto base è quello di quello di raggruppare i pezzi raggruppare i pezzi di programma di programma ripetuti in porzioni di ripetuti in porzioni di codice utilizzabili e codice utilizzabili e richiamabili ogni richiamabili ogni volta che se ne volta che se ne presenti l'esigenza presenti l'esigenza (Perform)(Perform)
5
![Page 6: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/6.jpg)
Dai function module agli oggetti
Programmazione
Modulare
• Le procedure aventi Le procedure aventi un dominio comune un dominio comune (ad esempio, (ad esempio, procedure che procedure che eseguono operazioni eseguono operazioni matematiche) matematiche) vengono raggruppate vengono raggruppate in moduli separati. in moduli separati. (Call-Function)(Call-Function)
6
![Page 7: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/7.jpg)
Dai function module agli oggetti
Programmazione
Orientata agli Oggetti
• E’ basata sul fatto che E’ basata sul fatto che esistono una serie di esistono una serie di oggetti che oggetti che interagiscono interagiscono vicendevolmente, vicendevolmente, scambiandosi messaggi scambiandosi messaggi ma mantenendo ma mantenendo ognuno il proprio stato ognuno il proprio stato ed i propri datied i propri dati
7
![Page 8: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/8.jpg)
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
![Page 9: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/9.jpg)
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
![Page 10: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/10.jpg)
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
![Page 11: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/11.jpg)
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
![Page 12: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/12.jpg)
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
![Page 13: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/13.jpg)
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
![Page 14: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/14.jpg)
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
![Page 15: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/15.jpg)
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
![Page 16: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/16.jpg)
Dai function module agli oggetti
• Nel linguaggio ABAP classico la cosa più simile agli oggetti sono i gruppi funzioni
16
![Page 17: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/17.jpg)
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
![Page 18: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/18.jpg)
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
![Page 19: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/19.jpg)
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
![Page 20: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/20.jpg)
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
![Page 21: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/21.jpg)
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
![Page 22: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/22.jpg)
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
![Page 23: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/23.jpg)
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
![Page 24: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/24.jpg)
Dai function module agli oggetti
24
![Page 25: Corso ABAP OO 01](https://reader033.vdocuments.pub/reader033/viewer/2022061200/54774aa8b4af9f755b8b460a/html5/thumbnails/25.jpg)
ESSENTIA.COM srl
Via Druento, 290 - 10078 Venaria Reale (TO)Tel.: 011 – 4560.511 fax: 011 – 4560.577
Via Nizza, 56 – 00198 RomaTel.: 06 – 85305570 fax: 06 – 85800504
Mail: [email protected]: www.e-ssentia.com
Powerd by Bossù Piergiorgio