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:

javascriptclass ArrHelper {
  
}

Selle klassi iga meetod võtab parameetrina vastu massiivi ja teostab sellega etteantud toimingu. Olgu meil näiteks järgmised meetodid:

javascriptclass ArrHelper {
  getSum(arr) {
    // elementide summa
  }
  
  getAvg(arr) {
    // aritmeetiline keskmine
  }
}

Kirjutame nende meetodite realiseerimise:

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;
    }
  }
}

Vaatame, kuidas me neid meetodeid kasutama hakkame. Loome oma klassi objekti:

javascriptlet arrHelper = new ArrHelper;

Leiame meie objekti abil erinevate massiivide numbrite summa:

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

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

Tehke klass Validator, mis kontrollib stringide korrektsust.

Задание 2

Tehke oma klassis meetod isEmail, mis kontrollib, kas string on korrektne email.

Задание 3

Tehke oma klassis meetod isDomain, mis kontrollib, kas string on korrektne domeeninimi.

Задание 4

Tehke oma klassis meetod isNumber, mis kontrollib, kas string sisaldab ainult numbreid.