⊗jsOpBsCOM 23 of 60 menu

Manipulisanje objektima u klasama u OOP-u u JavaScript-u

Klase kao parametri metoda mogu prihvatati objekte drugih klasa i manipulisati tim objektima. Pogledajmo na primeru. Neka postoji sledeća klasa:

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

Recimo da smo odlučili da napravimo klasu koja će da upravlja skupom objekata korisnika:

class UsersCollection { }

Objekte korisnika ćemo čuvati u vidu niza u privatnom svojstvu:

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

Napravićemo metod za dodavanje novog korisnika u niz:

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

A sada napravićemo metod koji će da ispiše u konzolu imena svih korisnika:

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

Pogledajmo rad naše klase. Za početak, kreirajmo njen objekat:

let uc = new UsersCollection;

Sada dodajmo u našu kolekciju nekoliko korisnika:

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

A sada pozovimo metod koji će da ispiše u konzolu imena svih korisnika:

uc.show();

Napravite klasu EmployeesCollection, koja će da sadrži niz zaposlenih.

Napravite u ovoj klasi metod za dodavanje novog zaposlenog.

Napravite u ovoj klasi metod za ispis svih zaposlenih.

Napravite u ovoj klasi metod za izračunavanje ukupne plate svih zaposlenih.

Napravite u ovoj klasi metod za izračunavanje prosečne plate svih zaposlenih.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij