⊗jsOpBsCOM 23 of 60 menu

Manipulation d'objets dans les classes en POO en JavaScript

Les classes, en tant que paramètres de méthodes, peuvent recevoir des objets d'autres classes et manipuler ces objets. Regardons un exemple. Supposons que nous ayons la classe suivante :

class User { #name; constructor(name) { this.#name = name; } getName() { return this.#name; } }

Supposons que nous décidions de créer une classe qui manipulera un ensemble d'objets d'utilisateurs :

class UsersCollection { }

Nous stockerons les objets d'utilisateurs sous forme de tableau dans une propriété privée :

class UsersCollection { #users; constructor() { this.#users = []; } }

Créons une méthode pour ajouter un nouvel utilisateur au tableau :

class UsersCollection { #users; constructor() { this.#users = []; } add(user) { this.#users.push(user); } }

Et maintenant, créons une méthode qui affichera dans la console les noms de tous les utilisateurs :

class UsersCollection { #users; constructor() { this.#users = []; } add(user) { this.#users.push(user); } show() { for (let user of this.#users) { console.log(user.getName()); } } }

Regardons le fonctionnement de notre classe. Commençons par créer son objet :

let uc = new UsersCollection;

Maintenant, ajoutons à notre collection plusieurs utilisateurs :

uc.add(new User('john')); uc.add(new User('eric')); uc.add(new User('kyle'));

Et maintenant, appelons la méthode qui affichera dans la console les noms de tous les utilisateurs :

uc.show();

Créez une classe EmployeesCollection, qui contiendra un tableau d'employés.

Créez dans cette classe une méthode pour ajouter un nouvel employé.

Créez dans cette classe une méthode pour afficher tous les employés.

Créez dans cette classe une méthode pour calculer le salaire total de tous les employés.

Créez dans cette classe une méthode pour calculer le salaire moyen de tous les employés.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser