Manipulasi Objek dalam Kelas di OOP JavaScript
Kelas sebagai parameter metode dapat menerima objek dari kelas lain dan memanipulasi objek-objek tersebut. Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Misalkan kita memutuskan untuk membuat kelas yang akan memanipulasi kumpulan objek pengguna:
class UsersCollection {
}
Kita akan menyimpan objek pengguna dalam bentuk array di properti privat:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Mari buat metode untuk menambahkan pengguna baru ke dalam array:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Sekarang mari buat metode yang akan menampilkan nama semua pengguna ke konsol:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Mari kita lihat cara kerja kelas kita. Pertama, mari buat objeknya:
let uc = new UsersCollection;
Sekarang tambahkan beberapa pengguna ke koleksi kita:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Kemudian panggil metode yang akan menampilkan nama semua pengguna ke konsol:
uc.show();
Buatlah kelas EmployeesCollection,
yang akan berisi array karyawan.
Buat metode dalam kelas ini untuk menambahkan karyawan baru.
Buat metode dalam kelas ini untuk menampilkan semua karyawan.
Buat metode dalam kelas ini untuk menghitung total gaji semua karyawan.
Buat metode dalam kelas ini untuk menghitung gaji rata-rata semua karyawan.