Třída jako sada metod v OOP v JavaScriptu
Někdy se třídy používají pro skupinování metod podobné tematiky. V tomto případě se zpravidla vytvoří pouze jeden objekt této třídy a jeho metody se používají mnohokrát v různých situacích.
Podívejme se na příklad. Vytvořme třídu, která bude manipulovat s poli čísel:
javascriptclass ArrHelper {
}
Každá metoda této třídy parametrem bude přijímat pole a provádět nad ním danou operaci. Nechť, například, máme následující metody:
javascriptclass ArrHelper {
getSum(arr) {
// součet prvků
}
getAvg(arr) {
// aritmetický průměr
}
}
Napišme implementaci těchto metod:
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;
}
}
}
Podívejme se, jak budeme používat tyto metody. Vytvořme objekt naší třídy:
javascriptlet arrHelper = new ArrHelper;
Najděme pomocí našeho objektu součet čísel různých polí:
javascriptlet sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Vytvořte třídu Validator,
která bude provádět kontrolu
řetězců na správnost.
Vytvořte ve své třídě metodu
isEmail, kontrolující řetězec na to,
že je to správný email.
Vytvořte ve své třídě metodu
isDomain, kontrolující řetězec na to,
že je to správné doménové jméno.
Vytvořte ve své třídě metodu
isNumber, kontrolující řetězec na to,
že obsahuje pouze čísla.