Trieda ako množina metód v OOP v JavaScripte
Niekedy sa triedy používajú na zoskupenie metód podobnej tematiky. V tomto prípade sa spravidla vytvorí iba jeden objekt tejto triedy a jeho metódy sa používajú mnohokrát v rôznych situáciách.
Pozrime sa na príklad. Vytvorme triedu, ktorá bude manipulovať s poľami čísel:
class ArrHelper {
}
Každá metóda tejto triedy bude parametrom prijímať pole a vykonávať nad ním danú operáciu. Nech máme napríklad nasledujúce metódy:
class ArrHelper {
getSum(arr) {
// súčet prvkov
}
getAvg(arr) {
// aritmetický priemer
}
}
Napíšme implementáciu týchto metód:
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;
}
}
}
Pozrime sa, ako budeme tieto metódy používať. Vytvorme objekt našej triedy:
let arrHelper = new ArrHelper;
Nájdime pomocou nášho objektu súčet čísel rôznych polí:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Vytvorte triedu Validator,
ktorá bude vykonávať kontrolu
reťazcov na správnosť.
V svojej triede vytvorte metódu
isEmail, ktorá kontroluje, či je reťazec
korektný email.
V svojej triede vytvorte metódu
isDomain, ktorá kontroluje, či je reťazec
korektné doménové meno.
V svojej triede vytvorte metódu
isNumber, ktorá kontroluje, či reťazec
obsahuje iba čísla.