Contenu du cours
Maîtrise Avancée de JavaScript
Maîtrise Avancée de JavaScript
Méthodes de Classe
Maintenant que nous savons comment ajouter des propriétés en utilisant le constructeur, explorons comment ajouter des méthodes à une classe.
Définir et utiliser des méthodes de classe
Ces méthodes opèrent généralement sur les propriétés de l'objet et fournissent un moyen d'interagir avec ses données.
Pour définir une méthode de classe, déclarez simplement une fonction à l'intérieur de la classe sans utiliser le mot-clé function
.
Dans cet exemple, getInfo
est une méthode de la classe Animal
. Toute instance de Animal
peut appeler cette méthode pour récupérer des informations sur cette instance particulière.
Comment les méthodes sont associées aux instances d'une classe
Lorsque vous créez une instance d'une classe, les méthodes définies à l'intérieur de la classe deviennent automatiquement disponibles pour cette instance. Ces méthodes peuvent accéder et manipuler les propriétés de l'instance en utilisant le mot-clé this
, qui fait référence à l'objet actuel.
Pensez aux méthodes comme des outils que chaque objet (instance) porte avec lui. Chaque objet a ses propres données (propriétés), mais ils partagent les mêmes outils (méthodes) pour interagir avec ces données.
Considérons l'exemple :
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
Dans cet exemple, lion
et pig
sont tous deux des instances de la classe Animal
. La méthode getInfo
est disponible pour les deux, et elle renvoie des résultats différents en fonction des propriétés de l'instance spécifique sur laquelle elle est appelée. Cela démontre comment les méthodes sont partagées entre les instances mais opèrent sur des données spécifiques à chacune.
Pourquoi utiliser des méthodes de classe ?
Les méthodes de classe définissent des comportements spécifiques à l'objet. Elles rendent le code plus modulaire, maintenable et créent une séparation claire des responsabilités. Au lieu de manipuler directement les propriétés de l'objet, les méthodes de classe offrent un moyen contrôlé d'interagir avec et de modifier les données de l'objet.
Exemple avec une méthode qui modifie l'état de l'objet :
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
Dans cet exemple, la méthode changeType
vous permet de mettre à jour la propriété type
de l'objet. Cela montre comment les méthodes peuvent encapsuler une logique qui affecte directement l'état de l'objet.
1. Qu'est-ce qu'une méthode de classe ?
2. Dans une classe, comment définissez-vous une méthode appelée speak
qu'une instance peut utiliser ?
3. Quelle est la sortie du code suivant ?
Merci pour vos commentaires !