Օբյեկտների մանիպուլյացիա դասերում OOP-ում JavaScript-ում

Մեթոդները որպես պարամետրեր կարող են ընդունել այլ դասերի օբյեկտներ և մանիպուլյացիայի ենթարկել այդ օբյեկտները: Դիտարկենք օրինակով: Ենթադրենք ունենք հետևյալ դասը՝

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

Ենթադրենք որոշել ենք ստեղծել դաս, որը կծառայի օգտագործողների օբյեկտների հավաքածուով մանիպուլյացիայի համար.

javascriptclass UsersCollection {
  
}

Օգտագործողների օբյեկտները պահելու ենք որպես զանգված՝ փակ կամպոնենտում.

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

Ստեղծենք մեթոդ նոր օգտագործողի ավելացման համար զանգվածում.

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

Այժմ ստեղծենք մեթոդ, որն արտածելու է բոլոր օգտագործողների անունները.

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

Դիտարկենք մեր դասի աշխատանքը: Սկզբում ստեղծենք դրա օբյեկտը.

javascriptlet uc = new UsersCollection;

Այժմ ավելացնենք մեր հավաքածուին մի քանի օգտագործող.

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

Այժմ կանչենք մեթոդը, որն արտածելու է բոլոր օգտագործողների անունները.

javascriptuc.show();
Задание 1

Ստեղծեք EmployeesCollection դասը, որը կպարունակի աշխատակիցների զանգված։

Задание 2

Այս դասում ստեղծեք մեթոդ նոր աշխատակցի ավելացման համար։

Задание 3

Այս դասում ստեղծեք մեթոդ բոլոր աշխատակիցների արտածման համար։

Задание 4

Այս դասում ստեղծեք մեթոդ բոլոր աշխատակիցների ընդհանուր աշխատավարձի հաշվարկման համար։

Задание 5

Այս դասում ստեղծեք մեթոդ բոլոր աշխատակիցների միջին աշխատավարձի հաշվարկման համար։