Darasa kama Mkusanyiko wa Mbinu katika OOP katika JavaScript

Wakati mwingine madarasa hutumiwa kwa kikundi mbinu za mada sawa. Katika kesi hii kwa kawaida huundwa moja tu kitu cha darasa hili na mbinu zake hutumiwa mara nyingi katika hali mbalimbali.

Wacha tuangalie kwa mfano. Tufanye darasa ambalo litakuwa kuendesha arrays ya nambari:

javascriptclass ArrHelper {
  
}

Kila mbinu ya darasa hii parameta atakubali array na kutekeleza juu yake operesheni maalum. Hebu, kwa mfano, tuwe na yafuatayo mbinu:

javascriptclass ArrHelper {
  getSum(arr) {
    // jumla ya vipengele
  }
  
  getAvg(arr) {
    // wastani wa kihesabu
  }
}

Wacha tuandike utekelezaji wa mbinu hizi:

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

Wacha tuone jinsi tutakavyofanya kutumia mbinu hizi. Tuweke kitu cha darasa letu:

javascriptlet arrHelper = new ArrHelper;

Pata kwa msaada wa kitu chetu jumla ya nambari za arrays mbalimbali:

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

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

Fanya darasa Validator, ambalo litafanya ukaguzi wa strings kuwa sahihi.

Задание 2

Fanya katika darasa lako mbinu isEmail, inayokagua string ikiwa ni barua pepe sahihi.

Задание 3

Fanya katika darasa lako mbinu isDomain, inayokagua string ikiwa ni jina sahihi la kikoa.

Задание 4

Fanya katika darasa lako mbinu isNumber, inayokagua string ikiwa inana nambari pekee.