Object Oriented SAP ABAP – Objects and Classes
In questo tutorial, impareremo uno dei principi su cui è costruito ABAP-Programmazione orientata agli oggetti.
Impareremo cosa significa OOP e anche cosa comporta nel mondo di SAP ABAP.
Che cos’è OOP?
- La programmazione orientata agli oggetti suddivide le attività in oggetti con dati e funzioni.
- Questo metodo rende la programmazione software comprensibile, flessibile e riutilizzabile.
- Object-Oriented Programing (OOP) è stato creato con semplicità ed eloquenza in mente.
- Rende le persone comunicano chiaramente, scambiano informazioni e idee usando un linguaggio comune-il linguaggio degli oggetti.
- Questi oggetti sono fatti di loro due caratteristiche principali – proprietà (dati) e di comportamento (o funzioni)
Le caratteristiche principali di OOP sono–
- astrazione dei Dati
- Incapsulamento
- Enfasi sui dati piuttosto che la procedura
- Utilizzo della reale entità del mondo chiamato ‘oggetto’
- privacy e protezione dei Dati
Rimanere aggiornato con le ultime tendenze della tecnologia
Join DataFlair Telegramma!!
POP vs OOP
La programmazione orientata alla procedura (POP) affronta i problemi in un metodo top-down. Sottolinea la procedura piuttosto che i dati in modo lineare.
vediamo alcune differenze tra POP e OOP–
POP | OOP |
POP sta per Procedura di programmazione Orientato | OOP sta per programmazione Object-Oriented |
Essa si concentra sulla procedura (a fare i compiti), piuttosto che di dati (attività) | Si concentra sui dati/attività piuttosto che la procedura |
POP segue top-down nel problem-solving | OOP segue bottom-up di moda nel problem-solving |
divide un programma in parti più piccole, chiamato funzioni o moduli | divide un programma in parti più piccole, dette oggetti |
le Funzioni di condivisione globale dei dati, e i dati non possono essere nascosti | Funzioni non condividere i dati globali – si può decidere chi può accedere ai tuoi dati |
Non c’è molta enfasi sulla protezione dei dati | Uno dei principali punti di messa a fuoco in OOP è la protezione dei dati |
per Estendere la funzionalità e l’aggiunta di dati è noioso e richiede tempo, | è molto semplice per estendere le funzionalità e aggiungere nuovi dati, semplicemente l’aggiunta di nuovi oggetti |
Concetti di ereditarietà, polimorfismo, incapsulamento non vengono utilizzati | Concetti di ereditarietà, polimorfismo, incapsulamento, forma la base della OOP |
E. g. C, Pascal, FORTRAN | E. g. Java, Python, C++ |
OOP in ABAP
- Inizialmente, SAP ha sviluppato ABAP come un linguaggio POP.
- Tuttavia, col passare del tempo, lo hanno spostato e trasformato in un linguaggio OOP
- Quindi, ABAP ora segue i principi dell’orientamento agli oggetti e dei paradigmi come gli oggetti.
- Come parte di OOP, ABAP utilizza i concetti di ereditarietà, sovraccarico, nascondimento dei dati, ecc. per una migliore funzionalità.
cominciamo a comprendere alcuni termini di base della programmazione orientata agli oggetti
termini di Base per conoscere
TERMINE | SIGNIFICATO |
Oggetto | un’entità del mondo reale di dati e di comportamento |
Classe | un complesso insieme di oggetti che contengono principalmente i campi di dati e le caratteristiche relative ai dati |
Metodo | il comportamento di un oggetto, cioè i moduli di funzione che l’oggetto esegue |
Membro | o il membro dei dati o di una funzione membro di una classe |
Esempio | sinonimo di oggetto, usato di solito come un ‘istanza di una classe’ |
la creazione di istanze di | creazione di un nuovo oggetto di una classe |
Oggetti in SAP ABAP
- Un oggetto è un’entità del mondo reale che contiene dati e di comportamento.
- Queste caratteristiche e questi comportamenti definiscono lo stato dell’oggetto e le azioni che l’oggetto eseguirà.
- Un oggetto, come accennato in precedenza, è un blueprint o un’istanza di una classe.
- Per esempio un dipendente, un libro, un albero di mele – tutti sono oggetti.
Creazione di un Oggetto in ABAP
vediamo come creare un oggetto in ABAP –
Sintassi:
DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.
Esempio:
DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.
esempio di Report:
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS ClassDataFlair Definition.Public Section.DATA: dataflairtext(45) VALUE 'Data Flair OOPS tutorial in ABAP: data.'.METHODS: DataFlairMethod.ENDCLASS.CLASS ClassDataFlair Implementation.METHOD DataFlairMethod.Write:/ 'Data Flair OOPS tutorial in ABAP: method.'.ENDMETHOD.ENDCLASS.START-OF-SELECTION.DATA: ClassDataFlair TYPE REF TO ClassDataFlair.CREATE Object: ClassDataFlair.Write:/ ClassDataFlair->dataflairtext.CALL METHOD: ClassDataFlair->DataFlairMethod.
di Uscita
Data Flair OOPS tutorial in ABAP: metodo.
Classi in SAP ABAP
- UNA classe è una collezione completa di oggetti
- contiene i dati di membri (caratteristiche) e membro metodi (funzioni) insieme avvolto in un’unica entità chiamata oggetto
- Classi in cui gli oggetti vengono creati e definiti
- Possiamo anche definire e dichiarare i moduli di funzione in una classe
- Siamo in grado di descrivere la privacy di una classe
- che Cosa questo significa è, possiamo definire che tutti possono avere accesso ai dati particolari di una classe
Creazione di una Classe in ABAP
Creazione di una classe in ABAP ha due passi –
1. Dichiarazione
Sintassi–
CLASS <class_name> DEFINITION.//define classENDCLASS.
Esempio–
CLASS dataflairclass DEFINITION.//define classENDCLASS.
2. Definizione
Sintassi–
CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.
Esempio–
CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.
Attributi in SAP ABAP
- Gli attributi sono le caratteristiche della classe
- Possono avere qualsiasi tipo di dati predefinito come P, F, I, ecc.
- Dobbiamo dichiarare gli attributi nella sezione dichiarazione di classe
- Gli attributi sono di due tipi:
- Istanza: ciò include lo stato specifico dell’istanza dell’oggetto, le modifiche sono diverse per tutti gli oggetti e questo viene dichiarato dall’istruzione DATA
-
- Statico: questo comprende anche i comuni di stato della classe per essere condiviso da tutte le istanze della classe, quindi quando si cambia uno stato, quindi tutti gli altri oggetti si può vedere il cambiamento, dichiarata dall’di CLASSE-DATI economico
Metodi SAP ABAP
- un metodo è UN modulo o di una funzione
- è il comportamento di un oggetto di una classe
- Un metodo può accedere a qualsiasi caratteristica di una classe
- contiene le azioni da eseguire da oggetti che richiamano alla classe
- definizione del Metodo che può o non può contenere parametri che vengono passati quando il metodo è chiamato
- Possiamo definire un metodo usando le istruzioni METHOD e ENDMETHOD
Sintassi:
METHOD…ENDMETHOD
Accesso agli attributi e ai metodi in SAP ABAP
1. I metodi e gli attributi sono accessibili dagli oggetti della classe
2. Gli specificatori di accesso (public, private e protected lavoro stesso modo come per la classe specificatori di accesso
- Se dichiariamo loro pubblico, possono essere accessibili da qualsiasi classe
- Quando dichiariamo privati, non può essere accessibile da qualsiasi classe
- Se dichiariamo protette, si può accedere solo ereditando classi
vediamo un esempio di come la scrittura di classi, attributi e metodi per accedervi –
Esempio:
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Data: dataflairtext01 Type char25 Value 'Public Data Flair'. Methods dataflairmethod. PROTECTED Section. Data: dataflairtext02 Type char25 Value 'Protected Data Flair'. PRIVATE Section. Data: dataflairtext03 Type char25 Value 'Private Data Flair'.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'Public Method:', / dataflairtext01, / dataflairtext02, / dataflairtext03. Skip. EndMethod.ENDCLASS.Start-Of-Selection. Data: Objectx Type Ref To dataflairclass. Create Object: Objectx. CALL Method: Objectx->dataflairmethod. Write: / Objectx->dataflairtext01.
di Uscita
Dati Pubblici Flair
Dati Protetti Flair
Dati Privati FlairPublic Dati Flair
Esempio di Attributi Statici in SAP ABAP
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. CLASS-DATA: dataflairname Type char45, dataflairdata Type I. Methods: dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Do 4 Times. dataflairdata = 1 + dataflairdata. Write: / dataflairdata, dataflairname. EndDo. Skip. EndMethod.ENDCLASS.Start-Of-Selection. dataflairclass=>dataflairname = 'ABAP Object Oriented Programming'. dataflairclass=>dataflairdata = 0. Data: Object1 Type Ref To dataflairclass, Object2 Type Ref To dataflairclass. Create Object: Object1, Object2. CALL Method: Object1->dataflairmethod, Object2->dataflairmethod.
Costruttori in SAP ABAP
- Costruttori sono particolari tipi di metodi di
- Quando si crea un oggetto, abbiamo bisogno di inizializzare e costruttori di eseguire il processo di inizializzazione dati per gli oggetti
- Il programma si chiama costruttori automaticamente quando un oggetto della classe viene creata
- Il costruttore farà scattare l’operazione inclusa ogni volta che un oggetto viene creato in esecuzione
Esempio di ABAP Costruttori
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Methods: dataflairmethod, constructor.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'This is the method'. EndMethod. Method constructor. Write: / 'This is the constructor'. EndMethod.ENDCLASS.Start-Of-Selection. Data Object1 Type Ref To dataflairclass. Create Object Object1.
Output
ME Operatore SAP ABAP
- ogni volta che ci ridefinire una variabile all’interno di un metodo con un valore diverso, che metodo utilizzare il ridefinito il valore della variabile
- Tuttavia, se si desidera accedere originariamente valore dichiarato, quindi è possibile utilizzare l’operatore MI
- vediamo un esempio di utilizzo MI operator
Esempio a ME l’Operatore in ABAP
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section.Data dataflairtext Type char25 Value 'Here we have class value'. Methods dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod.Data dataflairtext Type char25 Value 'Here we have method value'. Write: / ME->dataflairtext, / dataflairtext. ENDMethod.ENDCLASS.Start-Of-Selection. Data objectx Type Ref To dataflairclass. Create Object objectx. CALL Method objectx->dataflairmethod.
Output
Qui abbiamo un metodo valore
Sommario
Così, in questo tutorial, abbiamo imparato a conoscere le basi su cui ABAP e molti altri linguaggi sono costruiti – programmazione orientata agli oggetti. Abbiamo imparato come l’orientamento agli oggetti è diverso dall’orientamento alla procedura, dalla sua importanza e dai termini più importanti.
Nella parte #2 di questo tutorial, ci immergeremo in ulteriori concetti di orientamento agli oggetti come ereditarietà, polimorfismo, ecc.