Statik Yardımcı Metotlar
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 33 / 56.
Statik metotlar, sınıfın örneklerinden (instance) ziyade sınıfın kendisine ait olan yardımcı fonksiyonlardır. Örneğe özgü verilere erişim gerektirmeyen fonksiyonlar için kullanışlıdırlar.
Statik bir yardımcı metot içeren bir sınıf oluşturalım:
class MathHelper {
// Statik bir metot tanımlayın
static square(number) {
return number * number;
}
}Statik bir yöntemi çağırmak için doğrudan sınıf adını kullanırsınız:
// Bir örnek oluşturmadan statik yöntemi çağırın
const result = MathHelper.square(5);
console.log(result); // 25Dikkat ederseniz, new MathHelper() ile yeni bir örnek oluşturmamıza gerek kalmadı. Statik metotlar, örnek verisine ihtiyaç duymadan işlem gerçekleştiren yardımcı fonksiyonlar için mükemmeldir.
Görev
Bir dizeyi argüman olarak alan ve aynı dizeyi ilk harfi büyük olacak şekilde döndüren, capitalize adında statik bir yönteme sahip StringUtils adında bir sınıf oluşturun. Örneğin, girdi "javascript" ise, yöntem "Javascript" döndürmelidir. Bu sınıfı dışa aktarın (export).
- Dizenin boş olup olmadığını kontrol edin:
if (!str || str.length === 0)(Bu kontrol olmadan boş bir dize sorunlara neden olabilir).!strifadesinull/undefineddurumlarını kontrol eder (hataları önler)str.length === 0ifadesi boş dizeyi kontrol eder (çökmek yerine "" döndürür)
- İlk karakteri alın:
str.charAt(0) - Onu büyük harf yapın:
.toUpperCase() - Dizenin geri kalanını alın:
str.slice(1)(1. konumdan sona kadar) - Birleştirin: büyük harf yapılmış ilk karakter + dizenin geri kalanı
Kopya kağıdı
Statik metotlar, örneklerden ziyade sınıfın kendisine ait olan yardımcı fonksiyonlardır. Örneğe özgü verilere erişim gerektirmezler.
static anahtar kelimesini kullanarak statik bir metot tanımlayın:
class MathHelper {
static square(number) {
return number * number;
}
}Statik metotları, bir örnek oluşturmadan doğrudan sınıf üzerinden çağırın:
const result = MathHelper.square(5);
console.log(result); // 25Statik yardımcı programlar için kullanışlı dize (string) metotları:
str.charAt(0)- ilk karakteri alırstr.toUpperCase()- büyük harfe dönüştürürstr.slice(1)- 1. konumdan sona kadar olan alt dizeyi alır!str || str.length === 0- null/undefined veya boş dize olup olmadığını kontrol eder
Kendin dene
import { StringUtils } from './stringUtils.js';
// Aşağıdaki kodu değiştirmeyin
console.log(StringUtils.capitalize("programming"));Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesneler ve this Anahtar Kelimesi
Hızlı Tekrar: NesnelerNesnelere Metot Eklemethis Anahtar Kelimesini AnlamakYapıcı Fonksiyonlarnew Anahtar KelimesiGenel Tekrar Uygulaması7Kalıtım ve extends Anahtar Kelimesi
Kalıtım"is-a" İlişkisiextends Anahtar Kelimesisuper() MetoduÖzellikleri ve Metotları DevralmaÖzet Meydan Okuması2Kodu Düzenleme
Modüller Nedir?export ile Dışa Aktarmaimport ile İçe AktarmaVarsayılan ve Adlandırılmış Dışa Aktarmalar8OOP Kodunu Düzenleme
Sınıfları Modüller Halinde Düzenleme6Proje: Basit Bir Banka Hesabı
BankAccount SınıfıPara Yatırma ve Para Çekme9Statik Metotlar ve Özellikler
Sınıf Düzeyi ve Örnek DüzeyiStatik ÖzelliklerStatik Yardımcı MetotlarÖzet Meydan Okuma12Getter ve Setter'lar
get ve set Anahtar KelimeleriHesaplanmış ÖzelliklerDoğrulama ve Yan EtkilerÖzet Meydan Okuması15Final Meydan Okumaları
Oyun Karakteri OluşturucuE-ticaret Ürün SistemiÜniversite Yönetim SistemiAkıllı Ev Cihaz Sistemi