⊗jsOpBsCOM 23 of 60 menu

Манипулисање објектима у класама у ООП-у у JavaScript-у

Класе као параметре метода могу примати објекте других класа и манипулисати тим објектима. Погледајмо на примеру. Претпоставимо да имамо следећу класу:

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

Претпоставимо да смо одлучили да направимо класу која ће манипулисати скупом објеката са корисницима:

class UsersCollection { }

Објекте са корисницима ћемо чувати у виду низа у приватном својству:

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

Направимо метод за додавање новог корисника у низ:

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

А сада направимо метод који ће исписати у конзолу имена свих корисника:

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

Погледајмо рад наше класе. Прво ћемо креирати њен објекат:

let uc = new UsersCollection;

Сада ћемо додати у нашу колекцију неколико корисника:

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

А сада ћемо позвати метод који исписује у конзолу имена свих корисника:

uc.show();

Направите класу EmployeesCollection, која ће садржати низ запослених.

Направите у овој класи метод за додавање новог запосленог.

Направите у овој класи метод за испис свих запослених.

Направите у овој класи метод за израчунавање укупне плате свих запослених.

Направите у овој класи метод за израчунавање просечне плате свих запослених.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј