Klasa kao skup metoda u OOP-u u JavaScript-u

Ponekad se klase koriste za grupisanje metoda slične tematike. U ovom slučaju se obično kreira samo jedan objekat ove klase i njegovi metodi se koriste mnogo puta u različitim situacijama.

Hajde da pogledamo na primeru. Napravimo klasu koja će manipulisati nizovima brojeva:

javascriptclass ArrHelper {
  
}

Svaki metod ove klase će kao parametar prihvatati niz i izvršavati nad njim zadatu operaciju. Neka, na primer, imamo sledeće metode:

javascriptclass ArrHelper {
  getSum(arr) {
    // zbir elemenata
  }
  
  getAvg(arr) {
    // aritmetička sredina
  }
}

Napišimo implementaciju ovih metoda:

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

Hajde da vidimo kako ćemo koristiti ove metode. Kreirajmo objekat naše klase:

javascriptlet arrHelper = new ArrHelper;

Nađimo pomoću našeg objekta zbir brojeva različitih nizova:

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

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

Napravite klasu Validator, koja će vršiti proveru stringova na korektnost.

Задание 2

Napravite u vašoj klasi metod isEmail, koji proverava string na to, da li je korektan email.

Задание 3

Napravite u vašoj klasi metod isDomain, koji proverava string na to, da li je korektno ime domena.

Задание 4

Napravite u vašoj klasi metod isNumber, koji proverava string na to, da li sadrži samo brojeve.