JavaScript'te OOP'de Metot Koleksiyonu Olarak Sınıf
Bazen sınıflar, benzer temalara sahip metotları gruplamak için kullanılır. Bu durumda genellikle bu sınıftan sadece bir nesne oluşturulur ve metotları çeşitli durumlarda defalarca kullanılır.
Bir örneğe bakalım. Sayı dizileriyle işlem yapan bir sınıf yapalım:
class ArrHelper {
}
Bu sınıfın her metodu, bir parametre olarak bir dizi alacak ve üzerinde belirli bir işlem gerçekleştirecektir. Örneğin, aşağıdaki metotlarımız olsun:
class ArrHelper {
getSum(arr) {
// elemanların toplamı
}
getAvg(arr) {
// aritmetik ortalama
}
}
Bu metotların uygulamasını yazalım:
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;
}
}
}
Bu metotları nasıl kullanacağımıza bakalım. Sınıfımızın bir nesnesini oluşturalım:
let arrHelper = new ArrHelper;
Nesnemiz aracılığıyla çeşitli dizilerin sayılarının toplamını bulalım:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Bir Validator sınıfı yapın,
dizelerin doğruluğunu
kontrol edecek.
Sınıfınızda bir
isEmail metodu yapın,
bir dizenin doğru bir email
olup olmadığını kontrol eden.
Sınıfınızda bir
isDomain metodu yapın,
bir dizenin doğru bir domain adı
olup olmadığını kontrol eden.
Sınıfınızda bir
isNumber metodu yapın,
bir dizenin sadece sayılar
içerip içermediğini kontrol eden.