การจัดการอ็อบเจ็กต์ในคลาสด้วย 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

สร้างเมธอดในคลาสนี้ สำหรับคำนวณเงินเดือนเฉลี่ย ของพนักงานทั้งหมด