⊗jsOpBsCOM 23 of 60 menu

Manipulace s objekty v třídách v OOP v JavaScriptu

Třídy v parametrech metod mohou přijímat objekty jiných tříd a manipulovat s těmito objekty. Podívejme se na příklad. Předpokládejme, že máme následující třídu:

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

Předpokládejme, že jsme se rozhodli vytvořit třídu, která bude manipulovat s množinou objektů uživatelů:

class UsersCollection { }

Budeme ukládat objekty uživatelů jako pole v privátní vlastnosti:

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

Vytvořme metodu pro přidání nového uživatele do pole:

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

A nyní vytvořme metodu, která vypíše do konzole jména všech uživatelů:

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

Podívejme se na fungování naší třídy. Nejprve vytvořme její objekt:

let uc = new UsersCollection;

Nyní přidejme do naší kolekce několik uživatelů:

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

A nyní zavolejme metodu, která vypíše do konzole jména všech uživatelů:

uc.show();

Vytvořte třídu EmployeesCollection, která bude obsahovat pole zaměstnanců.

V této třídě vytvořte metodu pro přidání nového zaměstnance.

V této třídě vytvořte metodu pro výpis všech zaměstnanců.

V této třídě vytvořte metodu pro výpočet celkové mzdy všech zaměstnanců.

V této třídě vytvořte metodu pro výpočet průměrné mzdy všech zaměstnanců.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout