corso abap oo 01

25
ABAP OBJECTS

Upload: piergiorgio-bossu

Post on 27-Nov-2014

3.390 views

Category:

Education


12 download

DESCRIPTION

Prima parte di un corso sulla programmazione ABAP ad Oggetti tenuto da me

TRANSCRIPT

Page 1: Corso ABAP OO   01

ABAP OBJECTS

Page 2: Corso ABAP OO   01

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

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

Dai function module agli oggetti

Paradigmi di programmazione

• Programmazione Procedurale

• Programmazione Modulare

• Programmazione ad Oggetti

4

Page 5: Corso ABAP OO   01

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dai function module agli oggetti

24

Page 25: Corso ABAP OO   01

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