Définition du mot-clé This/Self
Les mots-clés sont des termes réservés dans la grammaire du langage de programmation. (pour des utilisations spécifiques en Java, en Python, en C++, etc) Donc vous ne pouvez en aucun cas employer ces mots-clés comme noms de classe, noms de variable ou tout autre élément qui peut être déclaré. Ils existent des mots-clés communs entre les langages comme les mots-clés de boucle (if, else, while, for, …) ou les mots-clés de déclaration de variable (int, double, float, char, string, …). Parfois les mots-clés sont différents mais signifient la même chose. Par exemple, pour déclarer une variable booléenne, on utilise en C le mot-clé bool et en Java le mot clé Boolean. Il en existe des dizaines pour diverses utilisations. Ils ont tous une signification et ne peuvent être utilisés que dans des cas prévus à cet effet.
Le mot-clé this
Nous allons découvrir l’utilisation du mot-clé this que l’on retrouve en Java, JavaScript ou encore PHP. Je vais me concentrer sur les utilisations les plus courantes en prenant pour exemple le Java.
Le mot-clé this permet de désigner, dans une classe, l’objet courant de la classe elle-même. Lorsqu’on code une classe, on prévoit le comportement pour un objet que l’on va utiliser. Si par exemple dans une méthode, un objet doit s’utiliser lui-même (dans le cas où il est l’argument d’une autre méthode), alors nous devons connaître sa propre référence que nous obtenons à l’aide de la valeur de this.
On peut utiliser le mot-clé this de trois manières différentes.
Rendre le code explicite
On peut l’utiliser pour améliorer la relecture d’un code en le rendant moins ambigu. Si dans une méthode, on a un attribut d’une classe et un paramètre qui ont le même nom. On peut les différencier facilement en ajoutant this à l’attribut. Il sert donc à différencier les attributs des variables locales.
Ici on différencie valeur qui est dans un cas l’attribut de la classe et dans l’autre cas un paramètre.
Se désigner comme référence
Le mot-clé this peut servir à s’adresser une requête à soi-même. Dans certains cas de programmation, on peut avoir besoin qu’un objet puisse écouter un autre objet. Un objet peut être à l’écoute d’événements afin d’effectuer des traitements ou des tâches.
On distingue d’ailleurs deux types d’écoutes : l’écoute sur des serveurs informatiques et l’écoute en programmation événementielle.
On peut par exemple s’enregistrer comme écouteur d’événement.
Désigner un attribut externe à la classe
Quand on se retrouve dans le cas de classes imbriquées, comme lorsqu’une classe est créée à l’intérieur d’une autre classe, si on place this après le nom d’une classe externe, on fait alors référence à l’attribut de cette classe externe. Sinon this fait référence à l’attribut de la classe interne.
Exemple :
Le mot-clé self
Le mot-clé self reprend les fonctionnalités du mot-clé this mais il est utilisé dans d’autres langages de programmation comme Python.
Lorsque vous écrivez une méthode dans une classe, vous êtes tenus à avoir un code que ressemble à celui-ci.
Dans la plupart des cas vous déclarez self, notre premier paramètre, qui sera l’instance en cours. Cependant, vous n’êtes pas obligés d’utiliser le mot-clé self, c’est une convention, par conséquent n’importe quel mot fera l’affaire. Cependant, si vous décidez de choisir un autre nom pour nommer le mot-clé self, ce nouveau nom ne sera pas considéré comme un mot-clé. Le mieux est de l’utiliser pour qu’il soit reconnu par votre IDE et ainsi qu’il soit mis en évidence. Vous pouvez alors utiliser un objet dans différentes méthodes en le précédent du mot-clé choisis.
Conclusion
J’espère qu’en lisant cet article, vous avez compris les différentes fonctions et utilités des mots-clés this et self. Lorsque vous allez les revoir dans certains programmes, il sera important de se demander dans quel but ils ont été utilisés.