⊗jsOpBsCOM 23 of 60 menu

Objektien manipulointi luokissa OOP:ssa JavaScriptissä

Luokat voivat menetelmien parametreina vastaanottaa muiden luokkien olioita ja manipuloida näitä olioita. Katsotaanpa esimerkkiä. Olkoon meillä seuraava luokka:

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

Oletetaan, että päätimme tehdä luokan, joka manipuloi kokoelmaa käyttäjäolioita:

class UsersCollection { }

Tallennamme käyttäjäoliot taulukkomuodossa yksityisessä ominaisuudessa:

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

Tehdään menetelmä uuden käyttäjän lisäämiseksi taulukkoon:

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

Ja nyt tehdään menetelmä, joka tulostaa kaikkien käyttäjien nimet konsoliin:

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

Katsotaanpa luokkamme toimintaa. Aluksi luomme sen olion:

let uc = new UsersCollection;

Nyt lisätään kokoelmaamme useita käyttäjiä:

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

Ja nyt kutsukaamme menetelmää, joka tulostaa konsoliin kaikkien käyttäjien nimet:

uc.show();

Tee luokka EmployeesCollection, joka sisältää taulukon työntekijöistä.

Tee tähän luokkaan menetelmä uuden työntekijän lisäämiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden tulostamiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden kokonaispalkan laskemiseksi.

Tee tähän luokkaan menetelmä kaikkien työntekijöiden keskipalkan laskemiseksi.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää