ජාවාස්ක්‍රිප්ට් හි OOP හි පන්තිවල වස්තු හැසිරවීම

ක්‍රමවල පරාමිති ලෙස පන්තිවලට වෙනත් පන්තිවල වස්තු පිළිගත හැකිය එම වස්තු හැසිරවීමට. අපි උදාහරණයක් බලමු. අපට පහත පන්තිය ඇති බවට සිතමු:

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

මෙම පන්තිය තුළ සියලුම සේවකයින්ගේ සාමාන්‍ය වැටුප ගණනය කිරීම සඳහා ක්‍රමයක් සාදන්න.