Méthodes et SELF

SELF

Lorsque l'on écrit une méthode on a généralement besoin d'utiliser les attributs propres (voire d'ailleurs les autres méthodes), de l'objet particulier que l'on est en train de manipuler.

On utilise pour cela la syntaxe SELF qui permet de faire référence à l'objet en cours.

SyntaxeSELF

1
self.nom_attribut
2
self.nom_méthode(...)

ExempleTotal d'une facture

1
MEMBER FUNCTION total RETURN number
2
IS
3
 t number;
4
BEGIN
5
SELECT sum(f.qte) INTO t 
6
FROM facture f
7
WHERE f.num=self.num;
8
9
 RETURN t;
10
END total;

RemarqueSELF implicite

Dans certains cas simples, lorsqu'il n'y a aucune confusion possible, SELF peut être ignoré et le nom de l'attribut ou de la méthode directement utilisé.

Il est toutefois plus systématique et plus clair de mettre explicitement le self.

ExempleExemple de SELF implicite

1
MEMBER FUNCTION adresse RETURN varchar2
2
IS
3
BEGIN 
4
  RETURN num || rue || ville;
5
END;