Klass kui meetodite kogum OOP-s JavaScriptis
Mõnikord kasutatakse klasse sarnase teemaga meetodite grupeerimiseks. Sellisel juhul luuakse reeglina ainult üks selle klassi objekt ja selle meetodeid kasutatakse korduvalt erinevates olukordades.
Vaatame näidet. Teeme klassi, mis manipuleerib numbrite massiividega:
javascriptclass ArrHelper {
}
Selle klassi iga meetod võtab parameetrina vastu massiivi ja teostab sellega etteantud toimingu. Olgu meil näiteks järgmised meetodid:
javascriptclass ArrHelper {
getSum(arr) {
// elementide summa
}
getAvg(arr) {
// aritmeetiline keskmine
}
}
Kirjutame nende meetodite realiseerimise:
javascriptclass 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;
}
}
}
Vaatame, kuidas me neid meetodeid kasutama hakkame. Loome oma klassi objekti:
javascriptlet arrHelper = new ArrHelper;
Leiame meie objekti abil erinevate massiivide numbrite summa:
javascriptlet sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Tehke klass Validator,
mis kontrollib stringide korrektsust.
Tehke oma klassis meetod
isEmail, mis kontrollib, kas string on korrektne email.
Tehke oma klassis meetod
isDomain, mis kontrollib, kas string on korrektne domeeninimi.
Tehke oma klassis meetod
isNumber, mis kontrollib, kas string sisaldab ainult numbreid.