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:
class ArrHelper {
}
Jokainen tämän luokan menetelmä saa parametrinaan taulukon ja suorittaa sen yli määritetyn operaation. Olkoon, esimerkiksi, meillä seuraavat menetelmät:
class ArrHelper {
getSum(arr) {
// elementtien summa
}
getAvg(arr) {
// aritmeettinen keskiarvo
}
}
Kirjoitetaan näiden menetelmien toteutus:
class 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:
let arrHelper = new ArrHelper;
Etsitään olioitamme käyttäen erilaisten taulukoiden numeroiden summa:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Tee luokka Validator,
joka suorittaa merkkijonojen
tarkistuksen oikeellisuudesta.
Tee luokkaasi metodi
isEmail, joka tarkistaa onko merkkijoma
kelvollinen sähköpostiosoite.
Tee luokkaasi metodi
isDomain, joka tarkistaa onko merkkijono
kelvollinen verkkotunnuksen nimi.
Tee luokkaasi metodi
isNumber, joka tarkistaa sisältääkö merkkijono
vain numeroita.