⊗jsOpBsCOM 23 of 60 menu

Manipulacja obiektami w klasach w OOP w JavaScript

Klasy jako parametry metod mogą przyjmować obiekty innych klas i manipulować tymi obiektami. Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Załóżmy, że postanowiliśmy utworzyć klasę, która będzie manipulować zbiorem obiektów użytkowników:

class UsersCollection { }

Będziemy przechowywać obiekty użytkowników w postaci tablicy we właściwości prywatnej:

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

Stwórzmy metodę do dodawania nowego użytkownika do tablicy:

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

A teraz stwórzmy metodę, która wypisze w konsoli imiona wszystkich użytkowników:

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

Zobaczmy na działanie naszej klasy. Na początku stwórzmy jej obiekt:

let uc = new UsersCollection;

Teraz dodajmy do naszej kolekcji kilku użytkowników:

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

A teraz wywołajmy metodę, która wypisze w konsoli imiona wszystkich użytkowników:

uc.show();

Stwórz klasę EmployeesCollection, która będzie zawierać tablicę pracowników.

Stwórz w tej klasie metodę do dodawania nowego pracownika.

Stwórz w tej klasie metodę do wypisywania wszystkich pracowników.

Stwórz w tej klasie metodę do obliczania sumy wynagrodzeń wszystkich pracowników.

Stwórz w tej klasie metodę do obliczania średniego wynagrodzenia wszystkich pracowników.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć