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:
class ArrHelper {
}
Selle klassi iga meetod võtab parameetrina vastu massiivi ja teostab sellega etteantud toimingu. Olgu meil näiteks järgmised meetodid:
class ArrHelper {
getSum(arr) {
// elementide summa
}
getAvg(arr) {
// aritmeetiline keskmine
}
}
Kirjutame nende meetodite realiseerimise:
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;
}
}
}
Vaatame, kuidas me neid meetodeid kasutama hakkame. Loome oma klassi objekti:
let arrHelper = new ArrHelper;
Leiame meie objekti abil erinevate massiivide numbrite summa:
let 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.