Post on 27-Nov-2014
description
transcript
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