"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > JavaScript + POO

JavaScript + POO

Publié le 2024-11-01
Parcourir:963

JavaScript   OOPs

POO — ou programmation orientée objet — peut vous aider à organiser votre code de manière plus logique et plus gérable, et peut faciliter la réutilisation et l'extension de votre code à l'avenir.

En JavaScript, la programmation orientée objet (POO) est un paradigme de programmation basé sur le concept d'« objets », qui sont des collections de données et de fonctions qui fonctionnent ensemble pour effectuer certaines tâches.

En POO, les objets sont créés à partir de « classes », qui sont des modèles qui définissent les propriétés et les méthodes des objets qu'ils créent.

Avantages de la POO

L'un des principaux avantages de l'utilisation de la POO en JavaScript est qu'elle vous permet d'organiser votre code de manière plus logique et plus gérable. Avec la POO, vous pouvez créer des classes qui représentent des objets du monde réel et définir les propriétés et les méthodes de ces objets. Cela facilite la compréhension et l'utilisation de votre code, d'autant plus qu'il devient de plus en plus complexe.

Un autre avantage de la POO en JavaScript ou en programmation est qu'elle permet la réutilisation et l'extensibilité du code.

Une fois que vous avez défini une classe, vous pouvez créer autant d'objets à partir de cette classe que nécessaire. Cela peut vous faire gagner beaucoup de temps et d'efforts, car vous n'avez pas besoin d'écrire le même code encore et encore pour chaque objet.

De plus, vous pouvez créer de nouvelles classes qui héritent des classes existantes, ce qui vous permet de réutiliser et d'étendre les fonctionnalités du code existant.

Démarrer avec la POO
Pour démarrer avec la POO en JavaScript, vous devez d'abord comprendre le concept de classe. En JavaScript, une classe est un modèle qui définit les propriétés et les méthodes des objets qu'elle crée. Voici un exemple de classe simple qui représente une personne :

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  greet() {
    console.log(`Hi, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

Dans cet exemple, la classe Person a deux propriétés : nom et âge. Il dispose également d'une méthode, greet(), qui envoie un message d'accueil à la console.

Pour créer un objet à partir de cette classe, vous utilisez le mot-clé new suivi du nom de la classe, comme ceci :

const person1 = new Person("John", 25);
const person2 = new Person("Jane", 30);

Une fois que vous avez créé un objet, vous pouvez accéder à ses propriétés et méthodes en utilisant la notation par points, comme ceci :

Héritage POO en JavaScript
En plus de définir des classes et de créer des objets, la POO en JavaScript permet également l'héritage. Cela signifie que vous pouvez créer de nouvelles classes qui héritent des propriétés et méthodes des classes existantes. Par exemple, disons que vous souhaitez créer une classe Étudiant qui représente un élève d’une école. La classe Student pourrait hériter de la classe Person, comme ceci :

class Student extends Person {
  constructor(name, age, school) {
    super(name, age);
    this.school = school;
  }
  info() {
    console.log(`${this.name} is ${this.age} years old and goes to ${this.school}.`);
  }
}

Quatre piliers de OOPS
Les quatre piliers de la programmation orientée objet (POO) en JavaScript sont :

Encapsulation :
L'encapsulation fait référence à l'idée d'encapsuler les données et les fonctionnalités dans un objet. En POO, les objets sont les éléments de base de votre code et chaque objet possède ses propres propriétés et méthodes. Cela vous permet d'organiser votre code de manière à le rendre plus facile à comprendre et à utiliser.

Par exemple, vous pouvez créer une classe Person qui possède des propriétés telles que le nom et l'âge, ainsi que des méthodes telles que greet() et introduit().

Abstraction:

L'abstraction est le processus consistant à masquer les détails de l'implémentation d'un objet et à exposer uniquement les informations nécessaires à l'utilisateur. En POO, vous pouvez utiliser l'abstraction pour rendre votre code plus modulaire et flexible.

Par exemple, vous pouvez définir une classe abstraite qui fournit une interface commune pour un groupe d'objets associés, sans spécifier comment ces objets sont implémentés.

Héritage:
L'héritage est le processus de création de nouvelles classes qui héritent des propriétés et des méthodes des classes existantes. Cela vous permet de réutiliser et d'étendre le code existant, ce qui peut vous faire gagner du temps et des efforts.

Par exemple, si vous disposez d'une classe Person qui définit des propriétés et des méthodes communes pour une personne, vous pouvez créer une classe Student qui hérite de la classe Person et ajoute des fonctionnalités supplémentaires.

Polymorphisme:
Le polymorphisme est la capacité de différents objets à répondre au même appel de méthode de différentes manières. En POO, le polymorphisme vous permet de créer des objets partageant une interface commune, mais ayant des implémentations différentes. Cela rend votre code plus flexible et vous permet d'écrire du code plus facilement maintenable et extensible.

Par exemple, vous pouvez créer une classe Shape qui définit une méthode draw() commune, puis créer des sous-classes pour différents types de formes (par exemple, cercle, rectangle, etc.) qui implémentent chacune la méthode draw() dans leur propre chemin.

Voici un exemple de la façon dont ces piliers de la POO peuvent être utilisés dans un programme JavaScript :

// Encapsulation: define a Person class with properties and methods
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  greet() {
    console.log(`Hi, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

// Inheritance: define a Student class that inherits from the Person class
class Student extends Person {
  constructor(name, age, school) {
    super(name, age);
    this.school = school;
  }
  info() {
    console.log(`${this.name} is ${this.age} years old and goes to ${this.school}.`);
  }
}

// Abstraction: define an abstract Shape class with a common draw() method
abstract class Shape {
  abstract draw(): void;
}

// Polymorphism: define subclasses of Shape that implement the draw() method in their own way
class Circle extends Shape {
  draw() {
    console.log("Drawing a circle...");
  }
}
class Rectangle extends Shape {
  draw() {
    console.log("Drawing a rectangle...");
  }
}

Conclusion
La programmation orientée objet est un concept fondamental en JavaScript et peut grandement améliorer la structure et l'organisation de votre code. En comprenant et en implémentant des concepts tels que l'encapsulation, l'héritage et le polymorphisme, vous pouvez créer des programmes plus efficaces et plus maintenables.

Que vous soyez débutant ou développeur expérimenté, prendre le temps de maîtriser la POO en JavaScript s'avérera payant sur le long terme. Merci d'avoir lu et bon codage.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/adarshgupta101/javascript-oops-2elb?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3