Klasa jako zestaw metod w OOP w JavaScript
Czasami klasy są używane do grupowania metod o podobnej tematyce. W tym przypadku zazwyczaj tworzony jest tylko jeden obiekt tej klasy, a jego metody są wielokrotnie używane w różnych sytuacjach.
Spójrzmy na przykład. Stwórzmy klasę, która będzie manipulować tablicami liczb:
class ArrHelper {
}
Każda metoda tej klasy będzie przyjmować tablicę jako parametr i wykonywać na niej zadaną operację. Niech, na przykład, będą to następujące metody:
class ArrHelper {
getSum(arr) {
// suma elementów
}
getAvg(arr) {
// średnia arytmetyczna
}
}
Napiszmy implementację tych metod:
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;
}
}
}
Zobaczmy, jak będziemy korzystać z tych metod. Stwórzmy obiekt naszej klasy:
let arrHelper = new ArrHelper;
Znajdźmy za pomocą naszego obiektu sumę liczb różnych tablic:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Stwórz klasę Validator,
która będzie wykonywać sprawdzanie
ciągów znaków na poprawność.
Stwórz w swojej klasie metodę
isEmail, sprawdzającą ciąg znaków pod kątem tego,
czy jest poprawnym adresem email.
Stwórz w swojej klasie metodę
isDomain, sprawdzającą ciąg znaków pod kątem tego,
czy jest poprawną nazwą domeny.
Stwórz w swojej klasie metodę
isNumber, sprawdzającą ciąg znaków pod kątem tego,
czy zawiera tylko liczby.