JavaScript'te OOP'de Sınıflardaki Nesneleri Manipüle Etme

Metod parametreleri olarak sınıflar, diğer sınıfların nesnelerini alabilir ve bu nesneleri manipüle edebilir. Bir örnek üzerinden inceleyelim. Aşağıdaki sınıfa sahip olduğumuzu varsayalım:

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

Kullanıcılarla ilgili nesneler kümesini manipüle edecek bir sınıf yapmaya karar verdiğimizi varsayalım:

javascriptclass UsersCollection {
  
}

Kullanıcı nesnelerini özel bir özellikte dizi olarak saklayacağız:

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

Diziye yeni bir kullanıcı eklemek için bir metod yapalım:

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

Şimdi de tüm kullanıcıların isimlerini konsola yazdıracak bir metod yapalım:

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

Sınıfımızın çalışmasına bir göz atalım. Öncelikle onun bir nesnesini oluşturalım:

javascriptlet uc = new UsersCollection;

Şimdi koleksiyonumuza birkaç kullanıcı ekleyelim:

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

Şimdi de tüm kullanıcıların isimlerini konsola yazdıracak metodu çağıralım:

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

Çalışanlar dizisini içerecek EmployeesCollection sınıfını yapın.

Задание 2

Bu sınıfta yeni bir çalışan eklemek için bir metod yapın.

Задание 3

Bu sınıfta tüm çalışanları göstermek için bir metod yapın.

Задание 4

Bu sınıfta tüm çalışanların toplam maaşını hesaplamak için bir metod yapın.

Задание 5

Bu sınıfta tüm çalışanların ortalama maaşını hesaplamak için bir metod yapın.