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.
Syntaxe : SELF
1
self.nom_attribut
2
self.nom_méthode(...)
Exemple : Total 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;
Remarque : SELF 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.
Exemple : Exemple de SELF implicite
1
MEMBER FUNCTION adresse RETURN varchar2
2
IS
3
BEGIN
4
RETURN num || rue || ville;
5
END;