JavaScriptにおけるOOPクラス内オブジェクト操作
クラスメソッドのパラメータは、 他のクラスのオブジェクトを受け取り、 それらのオブジェクトを操作できます。 例を見てみましょう。 次のクラスがあるとします:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
ユーザーオブジェクトのセットを操作する クラスを作成することにしたとします:
class UsersCollection {
}
ユーザーオブジェクトは、プライベートプロパティ内の 配列として保存します:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
新しいユーザーを配列に追加するための メソッドを作成しましょう:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
すべてのユーザーの名前をコンソールに 出力するメソッドを作成しましょう:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
クラスの動作を見てみましょう。 まず、そのオブジェクトを作成します:
let uc = new UsersCollection;
次に、コレクションにユーザーを 追加しましょう:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
そして、すべてのユーザーの名前を コンソールに出力するメソッドを 呼び出しましょう:
uc.show();
EmployeesCollection というクラスを作成してください。
このクラスは従業員の配列を含みます。
このクラスに、新しい従業員を追加するための メソッドを作成してください。
このクラスに、すべての従業員を 出力するためのメソッドを作成してください。
このクラスに、すべての従業員の 給与の合計を計算するための メソッドを作成してください。
このクラスに、すべての従業員の 平均給与を計算するための メソッドを作成してください。