⊗jsOpBsCOM 23 of 60 menu

Objektų manipuliavimas klasėse OOP JavaScript

Klasės, kaip metodų parametrai, gali priimti kitų klasių objektus ir manipuliuoti šiais objektais. Pažiūrėkime pavyzdžiu. Tarkime, turime šią klasę:

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

Tarkime, nusprendėme sukurti klasę, kuri manipuliuos vartotojų objektų rinkiniu:

class UsersCollection { }

Vartotojų objektus saugosime kaip masyvą privatiame savyjeje:

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

Sukurkime metodą naujo vartotojo pridėjimui į masyvą:

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

Dabar sukurkime metodą, kuris išvestų į konsolę visų vartotojų vardus:

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

Pažiūrėkime, kaip veikia mūsų klasė. Pirmiausia sukurkime jos objektą:

let uc = new UsersCollection;

Dabar į mūsų kolekciją pridėkime kelis vartotojus:

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

Ir iškvikime metodą, kuris išves į konsolę visų vartotojų vardus:

uc.show();

Sukurkite klasę EmployeesCollection, kuri talpins darbuotojų masyvą.

Šioje klasėje sukurkite metodą naujo darbuotojo pridėjimui.

Šioje klasėje sukurkite metodą visų darbuotojų išvedimui.

Šioje klasėje sukurkite metodą bendram visų darbuotojų atlyginimų apskaičiavimui.

Šioje klasėje sukurkite metodą vidutiniam visų darbuotojų atlyginimui apskaičiuoti.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti