JavaScript-də OOP-də Metodlar Dəsti kimi Sinif
Bəzən siniflər oxşar tematikaya malik metodları qruplaşdırmaq üçün istifadə olunur. Bu halda adətən bu sinifdən yalnız bir obyekt yaradılır və onun metodları müxtəlif vəziyyətlərdə dəfələrlə istifadə olunur.
Gəlin bir nümunəyə baxaq. Rəqəmlər massivləri ilə işləyən bir sinif yaradaq:
class ArrHelper {
}
Bu sinfin hər bir metodu parametr kimi bir massiv qəbul edəcək və onun üzərində müəyyən bir əməliyyat yerinə yetirəcək. Məsələn, tutaq ki, bizim aşağıdakı metodlarımız var:
class ArrHelper {
getSum(arr) {
// elementlərin cəmi
}
getAvg(arr) {
// orta ədədi
}
}
Gəlin bu metodların realizasiyasını yazaq:
class ArrHelper {
getSum(arr) {
let res = 0;
for (let num of arr) {
res += num;
}
return res;
}
getAvg(arr) {
if (arr.length > 0) {
let sum = this.getSum(arr);
return sum / arr.length;
} else {
return 0;
}
}
}
Gəlin bu metodlardan necə istifadə edəcəyimizə baxaq. Sinifimizdən bir obyekt yaradaq:
let arrHelper = new ArrHelper;
Obyektimizin köməyi ilə müxtəlif massivlərin rəqəmlərinin cəmini tapaq:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Sətirlərin düzgünlüyünü yoxlayan Validator sinfini yaradın.
Sinfinizdə sətirin düzgün email olub-olmadığını yoxlayan isEmail metodunu yaradın.
Sinfinizdə sətirin düzgün domen adı olub-olmadığını yoxlayan isDomain metodunu yaradın.
Sinfinizdə sətirin yalnız rəqəmlərdən ibarət olub-olmadığını yoxlayan isNumber metodunu yaradın.