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éthode), 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

Appuyer sur espace pour rester en pause.
1
self.nom_attribut
2
self.nom_méthode(...)

ExempleTotal d'une facture

Appuyer sur espace pour rester en pause.
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

Appuyer sur espace pour rester en pause.
1
MEMBER FUNCTION adresse RETURN varchar2
2
IS
3
BEGIN 
4
  RETURN num || rue || ville;
5
END;