Osztály mint metódusgyűjtemény az OOP-ben JavaScriptben
Időnként az osztályokat hasonló témájú metódusok csoportosítására használják. Ebben az esetben általában csak egy objektum jön létre ebből az osztályból, és metódusait számos alkalommal használják különböző helyzetekben.
Nézzünk egy példát. Készítsünk egy osztályt, amely számokat tartalmazó tömbökkel fog manipulálni:
class ArrHelper {
}
Ennek az osztálynak minden metódusa paraméterként egy tömböt fog kapni, és azon végzi el a meghatározott műveletet. Tegyük fel például, hogy a következő metódusaink lesznek:
class ArrHelper {
getSum(arr) {
// elemek összege
}
getAvg(arr) {
// számtani közép
}
}
Írjuk meg ezeknek a metódusoknak a megvalósítását:
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;
}
}
}
Nézzük meg, hogyan fogjuk használni ezeket a metódusokat. Hozzunk létre egy objektumot az osztályunkból:
let arrHelper = new ArrHelper;
Keressük meg objektumunk segítségével különböző tömbök számainak összegét:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Készítsen egy Validator osztályt, amely a sztringek helyességét fogja ellenőrizni.
Készítsen az osztályában egy isEmail metódust, amely egy sztringről ellenőrzi, hogy helyes-e az email cím.
Készítsen az osztályában egy isDomain metódust, amely egy sztringről ellenőrzi, hogy helyes-e a domain név.
Készítsen az osztályában egy isNumber metódust, amely egy sztringről ellenőrzi, hogy csak számokat tartalmaz-e.