Chaque Elfe peut avoir ses propres caractéristiques. Ici on parle de propriétés
protégées de l’instance du service. Vous devriez connaître les méthodes setX
,
getX
et delX
des Goblins. Pour les Elfes c’est un peu différents car les
registres Goblins ne sont plus directement utilisés; mais l’idée est la même.
Il est vivement recommandé de déclarer ces propriétés avec la convention du
préfixe _
pour indiquer qu’elles sont protected
. En effet, inutile d’essayer
d’utiliser la syntaxe #
pour espérer créer des propriétés private
car le
fonctionnement des Elfes ne le permet pas. De même, il n’est pas judicieux
de les déclarer comme publiques (sans le préfixe _
) afin de ne pas être tenté
de les appeler depuis un autre Elfe faisant référence à celui-ci. En effet, ces
propriétés sont exclusivement protected
et uniquement des quêtes pourraient
permettre de les rendre accessibles depuis l’extérieur.
class Elrond extends Elf {
_yearsOfLife = 0;
async create(id, desktopId = null) {
this.do();
return this;
}
async nextYear() {
this._yearsOfLife++;
return this._yearsOfLife;
}
}
Il n’est pas possible de réaliser un delX
comme avec les Goblins. Les Elfes
sont plus proches des classes habituelles. Oubliez le delX
et contentez-vous
de garder vos propriétés cohérentes dans votre Elfe. Il est toujours possible
d’assigner la valeure null
à une propriété au lieu de la supprimer comme le
fait delX
des Goblins.
Les Elfes sont une abstraction sur les Goblins, mais les propriétés elfiques ne sont en aucun cas simulées par des
setX
etgetX
Goblins. Néanmoins il est possible que certaines propriétés soient injectées, par le moteur Goblin, dans votre Elfe viasetX
. C’est par exemple le cas avec ledesktopId
.