⊗jsOpBsCMS 20 of 60 menu

Клас като набор от методи в ООП в JavaScript

Понякога класовете се използват за групиране на методи с подобна тематика. В този случай обикновено се създава само един обект от този клас и неговите методи се използват многократно в различни ситуации.

Нека да разгледаме пример. Нека направим клас, който ще манипулира масиви от числа:

class ArrHelper { }

Всеки метод от този клас ще приема като параметър масив и ще извършва върху него зададена операция. Нека, например, имаме следните методи:

class ArrHelper { getSum(arr) { // сума на елементите } getAvg(arr) { // средно аритметично } }

Нека напишем реализацията на тези методи:

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

Нека да видим как ще използваме тези методи. Нека създадем обект от нашия клас:

let arrHelper = new ArrHelper;

Нека намерим с помощта на нашия обект сумата на числата на различни масиви:

let sum1 = arrHelper.getSum([1, 2, 3]); console.log(sum1); let sum2 = arrHelper.getSum([3, 4, 5]); console.log(sum2);

Направете клас Validator, който ще извършва проверка на низове за коректност.

Направете във вашия клас метод isEmail, проверяващ дали низът е коректен email.

Направете във вашия клас метод isDomain, проверяващ дали низът е коректно име на домейн.

Направете във вашия клас метод isNumber, проверяващ дали низът съдържа само числа.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне