Appel de méthodes statiques dans les classes ES6
Dans les classes ES6, les méthodes statiques peuvent être définies à l'aide du mot-clé static. On pourrait s'interroger sur la manière standard d'appeler ces méthodes statiques.
Deux approches :
1. Utilisation du constructeur
Cette approche implique d'utiliser la propriété constructeur de l'instance de classe pour accéder à la méthode statique. Par exemple :
class SomeObject { constructor(n) { this.n = n; } static print(n) { console.log(n); } printN() { this.constructor.print(this.n); } }
2. Utilisation du nom de classe
L'autre approche consiste à utiliser directement le nom de la classe pour appeler la méthode statique. Comme ceci :
SomeObject.print(123);
Implications sur l'héritage :
L'utilisation de l'une ou l'autre approche a des implications différentes lorsqu'il s'agit de gérer l'héritage et de remplacer des méthodes statiques.
Conclusion :
Les deux approches sont valables, mais le choix dépend du comportement souhaité dans le contexte de l'héritage. Si vous vous attendez à ce que les propriétés statiques restent cohérentes et appartiennent à la classe d'origine, utilisez l'approche du nom de classe. Si vous avez besoin d'un accès dynamique aux propriétés statiques de la classe de l'instance actuelle, utilisez l'approche constructeur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!