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:
javascriptclass 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:
javascriptclass ArrHelper {
getSum(arr) {
// elemek összege
}
getAvg(arr) {
// számtani közép
}
}
Írjuk meg ezeknek a metódusoknak a megvalósítását:
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;
}
}
}
Nézzük meg, hogyan fogjuk használni ezeket a metódusokat. Hozzunk létre egy objektumot az osztályunkból:
javascriptlet arrHelper = new ArrHelper;
Keressük meg objektumunk segítségével különböző tömbök számainak összegét:
javascriptlet 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.