Classe come insieme di metodi in OOP in JavaScript
A volte le classi vengono utilizzate per raggruppare metodi di argomento simile. In questo caso di solito viene creato solo un oggetto di questa classe e i suoi metodi vengono utilizzati molte volte in varie situazioni.
Vediamo un esempio. Creiamo una classe che manipolerà array di numeri:
class ArrHelper {
}
Ogni metodo di questa classe riceverà come parametro un array ed eseguirà su di esso l'operazione specificata. Supponiamo, ad esempio, di avere i seguenti metodi:
class ArrHelper {
getSum(arr) {
// somma degli elementi
}
getAvg(arr) {
// media aritmetica
}
}
Scriviamo l'implementazione di questi metodi:
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;
}
}
}
Vediamo come utilizzeremo questi metodi. Creiamo un oggetto della nostra classe:
let arrHelper = new ArrHelper;
Troviamo con l'aiuto del nostro oggetto la somma dei numeri di vari array:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Crea una classe Validator,
che eseguirà il controllo
delle stringhe per la correttezza.
Aggiungi alla tua classe il metodo
isEmail, che controlla se una stringa è
un email valido.
Aggiungi alla tua classe il metodo
isDomain, che controlla se una stringa è
un nome di dominio valido.
Aggiungi alla tua classe il metodo
isNumber, che controlla se una stringa
contiene solo numeri.