Propriétés et méthodes
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 13 sur 56.
Les classes en JavaScript nous permettent de définir des propriétés et des méthodes qui seront partagées par toutes les instances de la classe.
Créez une classe avec des propriétés :
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Lors de la création d'une instance, le constructeur définit ces propriétés :
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Résultat : 'Toyota'
console.log(myCar.model); // Résultat : 'Corolla'Ajoutez une méthode à la classe :
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Maintenant, nous pouvons appeler cette méthode sur n'importe quelle instance :
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Résultat : 'This car is a Toyota Corolla.'Défi
Créez une classe nommée Book dans le fichier book.js avec les éléments suivants :
- Un constructeur qui prend les paramètres
title,authoretpageset les définit comme propriétés. - Une méthode appelée
getInfoqui renvoie une chaîne de caractères au format : “Title: [title], Author: [author], Pages: [pages]” - Exportez la classe en ajoutant `export` devant la déclaration `class`
Aide-mémoire
Les classes en JavaScript définissent des propriétés et des méthodes partagées par toutes les instances.
Créez une classe avec un constructeur :
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Créez une instance en utilisant new :
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Résultat : 'Toyota'Ajoutez des méthodes à une classe :
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Appelez des méthodes sur des instances :
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Résultat : 'This car is a Toyota Corolla.'Exportez une classe :
export class Car {
// définition de la classe
}Essayez vous-même
import { Book } from './book.js';
// Test (ne pas modifier cette partie)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
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