SAP ABAP Orienté Objet – Objets et Classes

Dans ce tutoriel, nous allons découvrir l’un des principes sur lesquels ABAP est construit – la programmation orientée objet.

Nous allons apprendre ce que la POO signifie, et aussi ce qu’elle implique dans le monde de SAP ABAP.

Qu’est-ce que la POO?

  • La programmation orientée objet décompose les tâches en objets qui ont des données et une fonction.
  • Cette méthode rend la programmation logicielle compréhensible, flexible et réutilisable.
  • La programmation orientée objet (POO) a été créée dans un souci de simplicité et d’éloquence.
  • Il permet aux gens de communiquer clairement, d’échanger des informations et des idées en utilisant un langage commun – le langage des objets.
  • Ces objets sont constitués de leurs deux caractéristiques principales : les propriétés (données) et le comportement (ou fonctions)

Les principales caractéristiques de la POO sont –

  1. Abstraction des données
  2. Encapsulation
  3. Accent mis sur les données plutôt que sur la procédure
  4. Utilisation d’entités du monde réel appelées  » objet  »
  5. Confidentialité et protection des données

Restez à jour avec les dernières tendances technologiques
Rejoignez DataFlair sur Telegram!!

POP vs POO

La programmation orientée procédure (POP) aborde les problèmes dans une méthode descendante. Il met l’accent sur la procédure plutôt que sur les données de manière linéaire.

Voyons quelques différences entre POP et POO –

POP POO
POP signifie Programmation orientée procédure OOP signifie Programmation orientée objet
Il se concentre sur la procédure (effectuer des tâches) plutôt que sur les données (tâches) Il se concentre sur les données / tâches plutôt que sur la procédure
POP suit la mode descendante dans la résolution de problèmes La POO suit la mode ascendante dans la résolution de problèmes
Il divise un programme en parties plus petites appelées fonctions ou modules Il divise un programme en parties plus petites appelées objets
Les fonctions partagent des données globales et les données ne peuvent pas être masquées les unes des autres Les fonctions ne partagent pas de données globales – vous pouvez décider qui peut accéder à vos données
L’accent n’est pas mis beaucoup sur la protection des données L’un des principaux points d’intérêt de la POO est la protection des données
L’extension des fonctionnalités et l’ajout de données est fastidieuse et prend beaucoup de temps Il est très facile d’étendre les fonctionnalités et d’ajouter de nouvelles données, simplement ajout de nouveaux objets
Les concepts d’héritage, de polymorphisme, d’encapsulation ne sont pas utilisés Les concepts d’héritage, de polymorphisme, d’encapsulation constituent la base même de la POO
Par exemple C, Pascal, FORTRAN Par exemple Java, Python, C++

POO dans ABAP

  • Initialement, SAP a développé ABAP en tant que langage POP.
  • Cependant, au fil du temps, ils l’ont déplacé et transformé en un langage de POO
  • Par conséquent, ABAP suit maintenant les principes de l’orientation des objets et des paradigmes comme les objets.
  • Dans le cadre de la POO, ABAP utilise les concepts d’héritage, de surcharge, de masquage de données, etc. pour une meilleure fonctionnalité.

Commençons par comprendre quelques termes de base de la POO

Termes de base à connaître

TERME SIGNIFICATION
Objet une entité du monde réel qui a des données et un comportement
Classe une collection complexe d’objets qui contiennent principalement des champs de données et des caractéristiques relatives aux données
Méthode comportement d’un objet i.e. modules de fonction que l’objet exécute
Membre soit le membre de données ou la fonction de membre d’une classe
Instance synonyme d’objet, généralement utilisé comme ‘instance d’une classe’
Instanciation création d’un nouvel objet d’une classe

Objets dans SAP ABAP

  • Un objet est une entité réelle qui contient des données et un comportement.
  • Ces caractéristiques et comportements définissent l’état de l’objet et les actions que l’objet va effectuer.
  • Un objet, comme mentionné précédemment, est un plan ou une instance d’une classe.
  • Pour par exemple un employé, un livre, un pommier – tous sont des objets.

Création d’un objet dans ABAP

Voyons comment créer un objet dans ABAP-

Syntaxe:

DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.

Exemple:

DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.

Exemple de rapport:

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.

Sortie

Tutoriel OOPS de Flair de données dans ABAP: data.
Tutoriel OOPS de Flair de données dans ABAP: méthode.

Classes dans SAP ABAP

  • Une classe est une collection complexe d’objets
  • Elle contient des membres de données (caractéristiques) et des méthodes membres (fonctions) regroupés en une seule entité appelée objet
  • Les classes sont l’endroit où les objets sont créés et définis
  • Nous définissons et déclarons également des modules de fonctions dans une classe
  • Nous pouvons décrire la confidentialité d’une classe
  • Ce que cela signifie, nous pouvons définir qui peut tous avoir accès à des données particulières d’une classe

Créer une classe dans ABAP

Créer une classe dans ABAP a deux étapes –

1. Syntaxe de la déclaration

CLASS <class_name> DEFINITION.//define classENDCLASS.

Exemple –

CLASS dataflairclass DEFINITION.//define classENDCLASS.

2. Définition

Syntaxe –

CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.

Exemple –

CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.

Les attributs dans SAP ABAP

  • Les attributs sont les caractéristiques de la classe
  • Ils peuvent avoir n’importe quel type de données prédéfini comme P, F, I, etc.
  • Nous devons déclarer des attributs dans la section de déclaration de classe
  • Les attributs sont de deux types :
    • Instance: cela inclut l’état spécifique à l’instance de l’objet, les modifications sont différentes pour tous les objets, et cela est déclaré par l’instruction de DONNÉES
    • Statique: cela inclut l’état commun de la classe à partager par toutes les instances de la classe, donc lorsque nous changeons un état, tous les autres objets peuvent voir le changement, déclaré par l’instruction CLASS-DATA

Méthodes dans SAP ABAP

  • Une méthode est un module ou une fonction
  • C’est le comportement de l’objet d’une classe
  • Une méthode peut accéder à n’importe quelle caractéristique d’une classe
  • Elle contient des actions à effectuer par des objets qui font appel à la classe
  • La définition de la méthode peut contenir ou non des paramètres, qui sont passés lorsque la méthode est appelée
  • , nous pouvons définir une méthode à l’aide des instructions METHOD et ENDMETHOD

Syntaxe:

METHOD…ENDMETHOD

Accès aux attributs et méthodes dans SAP ABAP

1. Les méthodes et les attributs sont accessibles par les objets de la classe

2. Les spécificateurs d’accès – publics, privés et protégés – fonctionnent de la même manière que pour les spécificateurs d’accès de classe

  • Si nous les déclarons publics, ils sont accessibles à n’importe quelle classe
  • Lorsque nous les déclarons privés, ils ne sont accessibles à aucune classe
  • Si nous les déclarons protégés, ils ne sont accessibles qu’en héritant des classes

Voyons voir un exemple de la façon d’écrire des classes, des attributs et des méthodes et d’y accéder – Exemple

:

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.

Sortie

Méthode publique:
Flair des Données Publiques
Flair des Données protégées
Flair des Données privées

Exemple d’attributs statiques dans 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.

Constructeurs dans SAP ABAP

  • Les constructeurs sont des types spéciaux de méthodes
  • Lorsque nous créons un objet, nous devons l’initialiser et les constructeurs font le travail d’initialisation des données pour les objets
  • Le programme appelle automatiquement les constructeurs lorsqu’un objet de la classe est créé
  • Le constructeur déclenchera l’opération incluse chaque fois qu’un objet est nouvellement créé en exécution

Exemple de constructeurs ABAP

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.

Sortie

Il s’agit de l’opérateur ME du constructeur

dans SAP ABAP

  • Chaque fois que nous redéfinissons une variable dans une méthode avec une valeur différente, cette méthode utilisera la valeur redéfinie de la variable
  • Cependant, si vous souhaitez accéder au valeur déclarée à l’origine, alors vous pouvez utiliser l’opérateur ME
  • Voyons un exemple d’utilisation de l’opérateur ME

Exemple d’opérateur ME dans 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.

Sortie

Ici nous avons la valeur de la classe
Ici nous avons la valeur de la méthode

Résumé

Ainsi, dans ce tutoriel, nous avons appris les bases sur lesquelles ABAP et de nombreux autres langages sont construits – la programmation orientée objet. Nous avons appris comment l’orientation de l’objet est différente de l’orientation de la procédure, son importance et les termes les plus importants.

Dans la partie #2 de ce tutoriel, nous plongerons dans d’autres concepts d’orientation d’objet comme l’héritage, le polymorphisme, etc.

Leave a Reply

Votre adresse e-mail ne sera pas publiée.