Menu
Coddy logo textTech

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.'
challenge icon

Défi

Créez une classe nommée Book dans le fichier book.js avec les éléments suivants :

  1. Un constructeur qui prend les paramètres title, author et pages et les définit comme propriétés.
  2. Une méthode appelée getInfo qui renvoie une chaîne de caractères au format : “Title: [title], Author: [author], Pages: [pages]”
  3. 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());
quiz iconTestez-vous

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