Corso ABAP OO 01

Post on 27-Nov-2014

3.378 views 12 download

description

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

Transcript of Corso ABAP OO 01

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 è 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

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

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

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 RomaTel.: 06 – 85305570 fax: 06 – 85800504

Mail: inforoma@e-ssentia.itWeb: www.e-ssentia.com

Powerd by Bossù Piergiorgio