JavaScript-də OOP-də Sinif Obiektləri ilə Manipulyasiya

Metodlar parametr kimi digər siniflərin obyektlərini qəbul edə və bu obyektlərə manipulyasiya edə bilər. Gəlin bir nümunəyə baxaq. Tutaq ki, bizdə aşağıdakı sinif var:

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

Tutaq ki, biz istifadəçilərlə olan obyektlər dəstəsinə manipulyasiya edəcək bir sinif etmək qərarına gəldik:

javascriptclass UsersCollection {
  
}

İstifadəçi obyektlərini gizli xüsusiyyətdə massiv şəklində saxlayacağıq:

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

Massivə yeni istifadəçi əlavə etmək üçün bir metod edək:

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

İndi isə bütün istifadəçilərin adlarını konsola çıxaracaq bir metod edək:

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

Gəlin sinifimizin işinə baxaq. Əvvəlcə onun obyektini yaradaq:

javascriptlet uc = new UsersCollection;

İndi kolleksiyamıza bir neçə istifadəçi əlavə edək:

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

İndi isə bütün istifadəçilərin adlarını konsola çıxaran metodu çağıraq:

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

İşçilər massivini ehtiva edəcək EmployeesCollection sinifini edin.

Задание 2

Bu sinifdə yeni işçi əlavə etmək üçün metod edin.

Задание 3

Bu sinifdə bütün işçiləri çıxarmaq üçün metod edin.

Задание 4

Bu sinifdə bütün işçilərin ümumi maaşını hesablamaq üçün metod edin.

Задание 5

Bu sinifdə bütün işçilərin orta maaşını hesablamaq üçün metod edin.