JavaScript-də OOP-də Sinif Obiektləri ilə Manipulyasiya
Metodlar parametr kimi digər siniflərin obyektlərini qəbul edə və bu obyektlərə manipulyasiya edə bilər. Gəlin bir nümunəyə baxaq. Tutaq ki, bizdə aşağıdakı sinif var:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Tutaq ki, biz istifadəçilərlə olan obyektlər dəstəsinə manipulyasiya edəcək bir sinif etmək qərarına gəldik:
javascriptclass UsersCollection {
}
İstifadəçi obyektlərini gizli xüsusiyyətdə massiv şəklində saxlayacağıq:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Massivə yeni istifadəçi əlavə etmək üçün bir metod edək:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
İndi isə bütün istifadəçilərin adlarını konsola çıxaracaq bir metod edək:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Gəlin sinifimizin işinə baxaq. Əvvəlcə onun obyektini yaradaq:
javascriptlet uc = new UsersCollection;
İndi kolleksiyamıza bir neçə istifadəçi əlavə edək:
javascriptuc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
İndi isə bütün istifadəçilərin adlarını konsola çıxaran metodu çağıraq:
javascriptuc.show();
İşçilər massivini ehtiva edəcək EmployeesCollection
sinifini edin.
Bu sinifdə yeni işçi əlavə etmək üçün metod edin.
Bu sinifdə bütün işçiləri çıxarmaq üçün metod edin.
Bu sinifdə bütün işçilərin ümumi maaşını hesablamaq üçün metod edin.
Bu sinifdə bütün işçilərin orta maaşını hesablamaq üçün metod edin.