Introduction à l’ABAP Objet

Historique des langages de programmation
abapoo-1

Programmation analytique
abapoo-2

Les fonctions sont définies indépendamment des structures de données

  • Accès direct aux données
  • Toute modification rend nécessaire de tester à nouveau tous les traitements
  • Les systèmes d’information étaient généralement définies par leurs fonctions : les données et les fonctions étaient stockées séparément et reliées à l’aide de relations entrée–sortie

Utilisation des groupes de fonction
abapoo-3

Lors de l’utilisation d’un groupe de fonction, il y a chargement en mémoire de tout le groupe de fonction avec les modules et les données.

Limite de la programmation analytique
abapoo-4

Si l’on définit un pool de fonction avec 3 fonctions pour définir les comportement d’un compteur : initialisation, incrémentation, récupération.

On peut alors utiliser ces fonctions pour créer et faire vivre un compteur :
abapoo-5

Dans le cas précédent, le résultat donne 7.
Essayons maintenant de créer plusieurs compteurs :
abapoo-6

Dans ce cas, le résultat donne 10.

On se rend compte qu’il est alors impossible d’utiliser des groupes de fonctions si l’on souhaite faire plusieurs appels et créer plusieurs compteurs.

Il faudrait donc pouvoir créer plusieurs instances, plusieurs objets du type compteur.

Programmation orientée objet
abapoo-7

L’orientation objet est basée sur des objets représentatnt des éléments abstraits ou concrets dans le monde réel. Ces objets sont représentés en premier lieu par leurs caractéristiques qui sont mises en correspondances avec la structure interne de l’objet et les attributs (données). Le comportement d’un objet est décrit à l’aide de méthodes et d’évènements (fonctionnalité).

Exemple pratique du compteur
abapoo-8
abapoo-9

Dans ce cas, le premier compteur contient la valeur 7 et le deuxième 10.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>