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.
CTRL+C pour copier, CTRL+V pour coller
1
self.nom_attribut
2
self.nom_méthode(...)
self.nom_attribut
self.nom_méthode(...)

ExempleTotal d'une facture

Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
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;
MEMBER FUNCTION total RETURN number
IS
 t number;
BEGIN
 SELECT sum(f.qte) INTO t 
 FROM facture f
 WHERE f.num=self.num;

 RETURN t;
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.
CTRL+C pour copier, CTRL+V pour coller
1
MEMBER FUNCTION adresse RETURN varchar2
2
IS
3
BEGIN 
4
  RETURN num || rue || ville;
5
END; 
 MEMBER FUNCTION adresse RETURN varchar2
 IS
 BEGIN 
  RETURN num || rue || ville;
 END;