Klasa si grup metodash në OOP në JavaScript

Ndonjëherë klasat përdoren për grupimin e metodave me tematikë të ngjashme. Në këtë rast zakonisht krijohet vetëm një objekt i kësaj klase dhe metodat e saj përdoren shumë herë në situata të ndryshme.

Le të shohim një shembull. Le të bëjmë një klasë që do të manipulojë vargje numrash:

javascriptclass ArrHelper {
  
}

Çdo metodë e kësaj klase do të marrë si parametër një varg dhe do të kryejë mbi të një operacion të caktuar. Le të themi, për shembull, që kemi metodat në vijim:

javascriptclass ArrHelper {
  getSum(arr) {
    // shuma e elementeve
  }
  
  getAvg(arr) {
    // mesatarja aritmetike
  }
}

Le të shkruajmë implementimin e këtyre metodave:

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

Le të shohim se si do të i përdorim këto metoda. Le të krijojmë një objekt të klasës sonë:

javascriptlet arrHelper = new ArrHelper;

Le të gjejmë me ndihmën e objektit tonë shumën e numrave të vargjeve të ndryshëm:

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

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

Bëni një klasë Validator, që do të kryejë kontrollin e vargjeve për korrektësinë.

Задание 2

Bëni në klasën tuaj metodën isEmail, që kontrollon nëse vargu është një email i korrekt.

Задание 3

Bëni në klasën tuaj metodën isDomain, që kontrollon nëse vargu është ni emër domain i korrekt.

Задание 4

Bëni në klasën tuaj metodën isNumber, që kontrollon nëse vargu përmban vetëm numra.