Propriétés statiques
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 32 sur 56.
Les propriétés statiques appartiennent à la classe elle-même, et non aux instances de la classe. Elles sont partagées entre toutes les instances.
Définissez une classe avec une propriété statique :
class Counter {
// Define a static property
static count = 0;
constructor() {
// Increment the static count each time a new instance is created
Counter.count++;
}
}Accédez à la propriété statique en utilisant le nom de la classe :
console.log(Counter.count); // 0
// Créez quelques instances
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Les propriétés statiques sont utiles pour les valeurs qui doivent être partagées entre toutes les instances ou pour les constantes au niveau de la classe. Par exemple :
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.PI); // 3.14159Défi
Ajoutez des propriétés statiques PI et E à une classe MathConstants :
- Propriété statique
PIdéfinie à3.14159 - Propriété statique
Edéfinie à2.71828
Aide-mémoire
Les propriétés statiques appartiennent à la classe elle-même, et non aux instances. Elles sont partagées par toutes les instances et on y accède en utilisant le nom de la classe.
Définissez une propriété statique à l'aide du mot-clé static :
class Counter {
static count = 0;
constructor() {
Counter.count++;
}
}Accédez aux propriétés statiques via le nom de la classe :
console.log(Counter.count); // 0
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Les propriétés statiques sont utiles pour les constantes au niveau de la classe :
class MathConstants {
static PI = 3.14159;
static E = 2.71828;
}
console.log(MathConstants.PI); // 3.14159Essayez vous-même
import { MathConstants } from './constants.js';
// Code de test - ne pas modifier
console.log(MathConstants.PI); // Devrait afficher 3.14159
console.log(MathConstants.E); // Devrait afficher 2.71828
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif