C#
Özet - Static üyeler
Static sınıf, metot ve readonly'yi birleştirerek bir Configuration yardımcısı yazarsın.
Özet - Static üyeler
Bu grupta statik üyeleri öğrendin: statik alan tüm örneklerle paylaşılır, statik metot sınıf adıyla çağrılır, statik sınıf örneklenemez. const derleme zamanı sabitini, readonly çalışma zamanı değişmez değerini tutar. Statik yapıcı sınıf yüklenirken bir kez çalışır.
Statik üyeler örnek durumuna bağlı olmayan yardımcı işlemler, paylaşılan sayaçlar ve değişmez değerler için uygundur. Örnek durum gerekiyorsa statik yerine normal sınıf kullanılır.
Uygulama Sayaç sınıfı (özet)
Counter sınıfına public static int Count = 0; alanını ekle. Increment statik metodu Count++ yapsın. Main içinde iki kez Counter.Increment() çağırıp Counter.Count'u yazdır.
Örnek çözümü göster
Counter içine `public static int Count = 0;` ekle. Increment gövdesinde `Count++;` yaz. Main içine `Counter.Increment(); Counter.Increment(); Console.WriteLine(Counter.Count);` yaz.
Örnek çözüm:
using System;
class Counter
{
public static int Count = 0;
public static void Increment()
{
Count++;
}
}
class Program
{
static void Main()
{
Counter.Increment();
Counter.Increment();
Console.WriteLine(Counter.Count);
}
}
Uygulama Yardımcı sınıf (özet)
static class Helper tanımla. İçine public static int Add(int a, int b) metodunu ekle; gövdesi return a + b; olsun. Main içinde Helper.Add(3, 4) çağırıp sonucu yazdır.
Örnek çözümü göster
`static class Helper { public static int Add(int a, int b) { return a + b; } }` ekle. Main içine `Console.WriteLine(Helper.Add(3, 4));` yaz.
Örnek çözüm:
using System;
static class Helper
{
public static int Add(int a, int b)
{
return a + b;
}
}
class Program
{
static void Main()
{
Console.WriteLine(Helper.Add(3, 4));
}
}
Sonraki adım
Statik üyeler birçok gerçek durumu basitleştirir: tek örnek (singleton) desenlerde, genişletme metotlarında ve yardımcı kütüphanelerde. Bir sonraki grupta const, readonly, static readonly ve enum ile sabitleri daha derinlemesine inceleyeceğiz.
Unutma: statik üyeler test edilebilirliği zorlaştırabilir; aşırı kullanma. Örnek durum gerekiyorsa normal sınıf tercih edilir.
Kendini test et
-
Static üyelerle ilgili hangisi doğrudur?
- Statik sınıf örneklenemez.
- Statik metot örnek alanlara erişebilir.
- Statik alan her örnekte ayrı kopya tutar.
- Statik yapıcı her örnek üretiminde çalışır.
Cevabı göster
Statik sınıf örneklenemez. — Doğru. Statik sınıf örneklenemez; tüm üyeleri statik olmalıdır.
-
Boşluğu doldur: statik metot
class Helper
{
public static int Add(int a, int b)
{
return ____;
}
}
Cevabı göster
class Helper
{
public static int Add(int a, int b)
{
return a + b;
}
}
Sıradaki ders: const alanlar