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:

javascriptclass ArrHelper {
  
}

Vsaka metoda tega razreda bo parameter sprejela niz in izvajala nad njim določeno operacijo. Naj bo, na primer, imamo naslednje metode:

javascriptclass ArrHelper {
  getSum(arr) {
    // vsota elementov
  }
  
  getAvg(arr) {
    // aritmetična sredina
  }
}

Napišimo implementacijo teh 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;
    }
  }
}

Poglejmo, kako bomo uporabljali te metode. Ustvarimo objekt našega razreda:

javascriptlet arrHelper = new ArrHelper;

Poiščimo z uporabo našega objekta vsoto števil različnih nizov:

javascriptlet sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);

let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Задание 1

Naredite razred Validator, ki bo izvajal preverjanje nizov na korektnost.

Задание 2

Naredite v vašem razredu metodo isEmail, ki preverja niz na to, da je korekten email.

Задание 3

Naredite v vašem razredu metodo isDomain, ki preverja niz na to, da je korektno ime domene.

Задание 4

Naredite v vašem razredu metodo isNumber, ki preverja niz na to, da vsebuje samo števila.