Téléchargement des produits


Version anglaise


 

 

 

Description

Une fois qu'une instance de classe est déclarée dans un programme via l'ordre REF_CLASSE, une syntaxe particulière est à utiliser afin de pouvoir accéder à ses attributs, en lecture comme en écriture.

Cette syntaxe est basée sur le principe des Getter et Setter (accesseurs et mutateurs des langages objet).

 

Récupération de la valeur d'un attribut de classe

Pour récupérer la valeur d'un attribut d'une variable de type REF_CLASSE, la syntaxe suivante doit être utilisée :

MaVariableResultat = MonInstance.getNomAttribut()

ou

MaVariableResultat = MonInstance.getNomAttributTableau()(indice[,indice2])

 

Exemple :

Classe Adélia VOITURE dont le source L4G est :

*attributs

{

ALPHA(15)    Marque;

ALPHA(250)  Modele;

NUM_BIN_2  NbCv;

DATE           DateAchat;

ALPHA(50)   Options(30)

}

 

Puis dans le programme Visual Adélia Batch :

* Déclaration d'une variable REF_CLASSE :

REF_CLASSE(VOITURE) iVoiture

NUM_BIN_2 MonBin2

DATE MaDate

ALPHA(50) TabOptions(30)

ALPHA(50) option

 

* Récupération de la valeur de l'attribut 'NbCv' de la classe iVoiture :

MonBin2 = iVoiture.getNbCv()

 

* Récupération de la valeur de l'attribut 'NbCv' de la classe iVoiture :

MaDate = iVoiture.getDateAchat()

 

* Récupération de la valeur l'attribut 'Options' de la classe iVoiture :

tabOptions = iVoiture.getOptions()

 

* Récupération de la valeur du 1er élément de l'attribut 'Options' de la classe iVoiture :

Option = iVoiture.getOptions()(1)

 

Remarque :

On suppose ici que la variable iVoiture est déjà instanciée (par exemple qu'elle est un des paramètres en entrée du programme ou de la procédure), ou alors qu'elle a été instanciée au sein du programme via l'ordre L4G NEW :

iVoiture = new VOITURE()

 

Il est possible de tester si la variable iVoiture est instanciée, à l'aide du mot réservé *NULL :

Si iVoiture = *NULL

 

↑ Haut de page

Modification de la valeur d'un attribut de classe

Pour fixer la valeur d'un attribut d'une variable de type REF_CLASSE, la syntaxe suivante doit être utilisée :

XXX.setYYY(ZZZ)

XXX étant une variable de type REF_CLASSE

YYY étant attribut de cette classe

ZZZ étant la valeur à fixer à cet attribut

 

 

Lorsque l'attribut est un type Adélia standard simple (ALPHA, NUM_BIN_2,..) ou un tableau global

MonInstance.setNomAttribut(NouvelleValeur)

NouvelleValeur peut être une constante alphanumérique, numérique ou une variable, ayant un type Adélia compatible avec celui de l'attribut concerné.

 

Exemple :

REF_CLASSE(PERSONNE)   iPere

ALPHA(33)                               MonAlpha33

 

iPere.setPrenom('Jean')

iPere.setNom(MonAlpha33)

 

 

↑ Haut de page

Pour mettre à jour un élément d'un attribut tableau

MonInstance.setNomAttribut(NouvelleValeur, Indice1[, Indice2])

 

NouvelleValeur peut être une constante alphanumérique, numérique, ou une variable, ayant un type Adélia compatible avec celui de l'attribut concerné.

 

Indice1 et Indice2 peuvent être une constante numérique ou une variable numérique.

 

Exemple :

REF_CLASSE(PERSONNE)     iPere

REF_CLASSE(VOITURE)         iVoiture

NUM_BIN_4                              MonBin4

NUM_BIN_2                              Indice1

NUM_BIN_2                              Indice2

 

Indice1 = 5

iPere.setTableau1DPrenomsEnfants('nicolas', Indice1)

iPere.setTableau1DPrenomsEnfants('virginie', 4)

 

iVoiture.setOptions('peugeot', 4)

iPere.setTableauBin4_2D (MonBin4, 6, 11)

iPere.setTableauBin4_2D (444, Indice1, Indice2)

 

 

Lorsque l'attribut est une classe

REF_CLASSE(PERSONNE)      iPere

REF_CLASSE(FAMILLE)           iFamille

iPere = new PERSONNE()

iFamille.setPere(iPere)

↑ Haut de page

  • Aucune étiquette