Razred kot niz metod v OOP v JavaScript
Včasih se razredi uporabljajo za združevanje metod podobne tematike. V tem primeru se praviloma ustvari samo en objekt tega razreda in njegove metode se večkrat uporabijo v različnih situacijah.
Poglejmo si na primeru. Naredimo razred, ki bo manipuliral z nizi števil:
class ArrHelper {
}
Vsaka metoda tega razreda bo parameter sprejela niz in izvajala nad njim določeno operacijo. Naj bo, na primer, imamo naslednje metode:
class ArrHelper {
getSum(arr) {
// vsota elementov
}
getAvg(arr) {
// aritmetična sredina
}
}
Napišimo implementacijo teh metod:
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;
}
}
}
Poglejmo, kako bomo uporabljali te metode. Ustvarimo objekt našega razreda:
let arrHelper = new ArrHelper;
Poiščimo z uporabo našega objekta vsoto števil različnih nizov:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Naredite razred Validator,
ki bo izvajal preverjanje
nizov na korektnost.
Naredite v vašem razredu metodo
isEmail, ki preverja niz na to,
da je korekten email.
Naredite v vašem razredu metodo
isDomain, ki preverja niz na to,
da je korektno ime domene.
Naredite v vašem razredu metodo
isNumber, ki preverja niz na to,
da vsebuje samo števila.