Auteur Auteur

Les classes et les objets

Les classes et objets sont des éléments essentiels de la programmation orientée objet et ils nous permettent de créer des structures de code modulaires et réutilisables.

## Les classes et objets en JavaScript

JavaScript est un langage de programmation orienté objet. Cela signifie qu'il utilise des classes et des objets pour organiser et structurer le code. Les classes sont des modèles ou des "moules" à partir desquels nous pouvons créer des objets. Les objets sont des instances de ces classes.

## Déclaration d'une classe

En JavaScript, nous pouvons déclarer une classe en utilisant le mot-clé class. Voici un exemple de déclaration de classe :

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    sayHello() {
        console.log(`Bonjour, je m'appelle ${this.name} et j'ai ${this.age} ans.`);
    }
}

Dans cet exemple, nous avons déclaré une classe Person avec un constructeur et une méthode sayHello. Le constructeur est appelé lorsqu'un nouvel objet Person est créé et il initialise les propriétés name et age. La méthode sayHello affiche un message de salutation avec le nom et l'âge de la personne.

## Création d'objets

Pour créer un objet à partir d'une classe, nous utilisons le mot-clé new. Voici comment créer un objet Person à partir de la classe Person que nous avons déclarée précédemment :

const person = new Person("Jean", 25);

Dans cet exemple, nous avons créé un objet person à partir de la classe Person avec le nom "Jean" et l'âge 25.

## Accès aux propriétés et méthodes

Une fois que nous avons créé un objet, nous pouvons accéder à ses propriétés et méthodes à l'aide de la notation par point (`.`). Voici comment accéder aux propriétés et méthodes de l'objet person que nous avons créé précédemment :


console.log(person.name); // Affiche "Jean"
console.log(person.age); // Affiche 25
person.sayHello(); // Affiche "Bonjour, je m'appelle Jean et j'ai 25 ans."

Dans cet exemple, nous utilisons la notation par point pour accéder à la propriété name et age de l'objet person

et nous utilisons également la méthode sayHello pour afficher le message de salutation.

## Héritage de classe

En JavaScript, nous pouvons également utiliser l'héritage de classe pour créer de nouvelles classes basées sur une classe existante. La nouvelle classe hérite toutes les propriétés et méthodes de la classe parente et peut ajouter ses propres propriétés et méthodes.

Voici un exemple d'héritage de classe en JavaScript :


class Student extends Person {
    constructor(name, age, grade) {
        super(name, age);
        this.grade = grade;
    }

    getGrade() {
        console.log(`Je suis en ${this.grade}ème année.`);
    }
}

Dans cet exemple, nous avons déclaré une classe Student qui étend la classe Person en utilisant le mot-clé extends. La classe Student a son propre constructeur qui prend des paramètres supplémentaires (grade) et appelle également le constructeur de la classe parente en utilisant le mot-clé super. La méthode getGrade est spécifique à la classe Student.

Maintenant, nous pouvons créer un objet student à partir de la classe Student et accéder à ses propriétés et méthodes :


const student = new Student("Alice", 20, 3);
console.log(student.name); // Affiche "Alice"
console.log(student.age); // Affiche 20
console.log(student.grade); // Affiche 3
student.sayHello(); // Affiche "Bonjour, je m'appelle Alice et j'ai 20 ans."
student.getGrade(); // Affiche "Je suis en 3ème année."

Dans cet exemple, nous avons créé un objet student à partir de la classe Student avec le nom "Alice", l'âge 20, et la classe 3. Nous pouvons accéder aux propriétés et méthodes de la classe Person ainsi qu'aux propriétés et méthodes spécifiques à la classe Student.

Ceci conclut notre cours sur la notion des classes et objets en JavaScript. Les classes et objets sont des éléments essentiels de la programmation orientée objet et ils nous permettent de créer des structures de code modulaires et réutilisables.