Klasė kaip metodų rinkinys OOP JavaScript

Kartais klasės naudojamos susijusios tematikos metodų grupuoti. Tokiu atveju dažniausiai sukuriamas tik vienas šios klasės objektas ir jo metodai naudojami daug kartų įvairiose situacijose.

Pažiūrėkime pavyzdžiu. Sukurkime klasę, kuri manipuliuos skaičių masyvais:

javascriptclass ArrHelper {
  
}

Kiekvienas šios klasės metodas parametru gaus masyvą ir atliks su juo nurodytą operaciją. Tarkime, pavyzdžiui, kad mes turėsime šiuos metodus:

javascriptclass ArrHelper {
  getSum(arr) {
    // elementų suma
  }
  
  getAvg(arr) {
    // aritmetinis vidurkis
  }
}

Parašykime šių metodų implementaciją:

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

Pažiūrėkime, kaip mes naudosimės šiais metodais. Sukurkime mūsų klasės objektą:

javascriptlet arrHelper = new ArrHelper;

Raskime su mūsų objekto pagalba skaičių sumą įvairių masyvų:

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

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

Sukurkite klasę Validator, kuri atliks eilučių teisingumo patikrinimą.

Задание 2

Padarykite savo klasėje metodą isEmail, tikrinantį eilutę ar ji yra teisingas email.

Задание 3

Padarykite savo klasėje metodą isDomain, tikrinantį eilutę ar ji yra teisingas domeno vardas.

Задание 4

Padarykite savo klasėje metodą isNumber, tikrinantį eilutę ar joje yra tik skaičiai.