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();
Çalışanlar dizisini içerecek EmployeesCollection
sınıfını yapın.
Bu sınıfta yeni bir çalışan eklemek için bir metod yapın.
Bu sınıfta tüm çalışanları göstermek için bir metod yapın.
Bu sınıfta tüm çalışanların toplam maaşını hesaplamak için bir metod yapın.
Bu sınıfta tüm çalışanların ortalama maaşını hesaplamak için bir metod yapın.