📘 10.3 – static Metotlar
🔹 Açıklama:
C# dilinde bir metot static olarak tanımlandığında, sınıf üzerinden doğrudan çağrılabilir ve nesne oluşturmaya gerek kalmaz. Bu metotlar genellikle yardımcı işlemler için kullanılır: matematiksel işlemler, string düzenlemeleri, tarih biçimlendirmeleri gibi.
static metotlar, sadece diğer static üyelerle çalışabilir ve this anahtar kelimesine erişemezler.
🔍 Nerelerde Kullanılır?
- Sık kullanılan fonksiyonların merkezi bir sınıfta toplanmasında
- Nesneye bağlı olmayan hesaplamalarda
- Yardımcı (Helper) sınıflarda ve araçlarda
- Uygulama genelinde erişilebilecek metotların oluşturulmasında
- Performans gerektiren, nesne yükü istemeyen işlemlerde
💡 Avantajları:
Özellik | Açıklama |
---|---|
Nesne gerekmez | Sınıf üzerinden çağrılır |
Performanslıdır | Bellekte nesne oluşturulmaz |
Kod tekrarını azaltır | Tek bir yerden erişim sağlar |
Uygulama geneline açıktır | Her yerden çağrılabilir |
🎯 Kazanımlar:
Bu başlığı tamamladığında öğrenci:
- static metotların yapısını ve kullanım yerlerini öğrenir
- Nesneye ihtiyaç duymadan nasıl işlev çağrılacağını kavrar
- Yardımcı metot tasarımı ve uygulama genelinde erişim tekniklerini öğrenir
- Kodu sadeleştirme ve yönetilebilir hâle getirme pratiği kazanır
🧪 10.3 – static Metotlar: Uygulamalı 5 Örnek
📌 Örnek 1: Sayı Toplayan static Metot
🎯 Amaç: İki sayıyı toplayan basit bir static metot oluştur.
public class Matematik
{
public static int Topla(int a, int b)
{
return a + b;
}
}
// Kullanım:
int sonuc = Matematik.Topla(25, 15);
MessageBox.Show("Sonuç: " + sonuc);
📝 Açıklama:
Topla metodu nesne oluşturmadan doğrudan sınıf üzerinden çağrılır.
📌 Örnek 2: Tarih Formatlayan static Metot
🎯 Amaç: Tarihi “gün.ay.yıl” biçiminde gösteren metot.
public static class TarihAraci
{
public static string Formatla(DateTime tarih)
{
return tarih.ToString("dd.MM.yyyy");
}
}
// Kullanım:
string bugun = TarihAraci.Formatla(DateTime.Now);
MessageBox.Show("Bugün: " + bugun);
📝 Açıklama:
Yardımcı bir işlemi herhangi bir formdan kolayca çağırmak mümkündür.
📌 Örnek 3: Metni Küçük Harfe Çevirme
🎯 Amaç: Girilen metni küçük harfe dönüştüren metot.
public static class MetinAraci
{
public static string Kucult(string veri)
{
return veri.ToLower();
}
}
// Kullanım:
string sonuc = MetinAraci.Kucult("MERHABA");
MessageBox.Show(sonuc);
📝 Açıklama:
Yine sınıf adıyla doğrudan çağrılan bir metot.
📌 Örnek 4: Sayının Tek mi Çift mi Olduğunu Bulma
🎯 Amaç: Sayının çift olup olmadığını kontrol et.
public static class SayisalKontrol
{
public static bool CiftMi(int sayi)
{
return sayi % 2 == 0;
}
}
// Kullanım:
bool sonuc = SayisalKontrol.CiftMi(42);
MessageBox.Show("Çift mi? " + sonuc);
📝 Açıklama:
Mantıksal test yapan static metotlarla karar verme desteklenir.
📌 Örnek 5: Uygulama İstatistiklerini Gösteren static Metot
🎯 Amaç: O ana kadar oluşturulmuş nesne sayısını göster.
public class Sistem
{
public static int NesneSayisi = 0;
public Sistem()
{
NesneSayisi++;
}
public static string RaporVer()
{
return "Toplam nesne: " + NesneSayisi;
}
}
// Kullanım:
new Sistem();
new Sistem();
MessageBox.Show(Sistem.RaporVer());
📝 Açıklama:
Hem static değişken hem static metot birlikte kullanılmıştır.
✅ Özet:
Bu örneklerle öğrenciler:
- static metotların nesne olmadan çağrıldığını kavradı
- Yardımcı işlemlerin kodun herhangi bir yerinden erişilebilir olduğunu gördü
- Kod tekrarını azaltan pratik araçlar geliştirmeyi öğrendi