Luokka menetelmien kokoelmana OOP:ssa JavaScriptissä

Joskus luokkia käytetään samantemaattisten menetelmien ryhmittelyyn. Tässä tapauksessa yleensä luodaan vain yksi tämän luokan olio, ja sen menetelmiä käytetään useita kertoja erilaisissa tilanteissa.

Katsotaanpa esimerkkiä. Tehdään luokka, joka manipuloi numerotaulukoita:

javascriptclass ArrHelper {
  
}

Jokainen tämän luokan menetelmä saa parametrinaan taulukon ja suorittaa sen yli määritetyn operaation. Olkoon, esimerkiksi, meillä seuraavat menetelmät:

javascriptclass ArrHelper {
  getSum(arr) {
    // elementtien summa
  }
  
  getAvg(arr) {
    // aritmeettinen keskiarvo
  }
}

Kirjoitetaan näiden menetelmien toteutus:

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

Katsotaanpa, miten me käytämme näitä menetelmiä. Luodaan olio luokastamme:

javascriptlet arrHelper = new ArrHelper;

Etsitään olioitamme käyttäen erilaisten taulukoiden numeroiden summa:

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

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

Tee luokka Validator, joka suorittaa merkkijonojen tarkistuksen oikeellisuudesta.

Задание 2

Tee luokkaasi metodi isEmail, joka tarkistaa onko merkkijoma kelvollinen sähköpostiosoite.

Задание 3

Tee luokkaasi metodi isDomain, joka tarkistaa onko merkkijono kelvollinen verkkotunnuksen nimi.

Задание 4

Tee luokkaasi metodi isNumber, joka tarkistaa sisältääkö merkkijono vain numeroita.