Serdar YILMAZ
Bizimkisi Bir “Bug” Hikayesi...
Serdivan/Sakarya
Serdar Yılmaz C# – Static Elemanlar ve Sınıflar

C# – Static Elemanlar ve Sınıflar

dotnetBir sınıf içerisindeki static olmayan metotlara ve özelliklere o sınıftan oluşturduğumuz nesneler üzerinden erişiriz. Static olan metotlara ve özelliklere ise nesne oluşturmadan sınıf adı ile erişiriz.

Static olmayan elemanlar nesneye özgü bilgileri tutarken static olan elemanlar uygulama çalıştığı sürece kendilerine en son atanan değeri tutarlar. AdiSoyadi ve Numara değişkenleri static olmadığı için Ogrenci sınıfından oluşturulan her bir nesne için farklı değerler tutabilirler. OgrenciSayisi değişkeni ise static olduğu için kendisine en son atanan değeri tutacaktır.

Bir özelliği veya metodu static yapmak için erişim belirleyicisinden sonra “static” anahtar kelimesini getirmemiz gerekir.

Static bir metodun içerisinden static olmayan metotlar ve değişkenler çağrılamaz. Sadece diğer static metotlar ve değişkenler çağrılabilir.

Static Yapıcı Metotlar

Yapıcı metotları da normal metotlar gibi static olarak tanımlayabiliriz. Sınıfın static değişkenleri ile ilgili işlemler static yapıcı metodun içerisinde yapılabilir. Static yapıcı metotlar parametre almazlar ve erişim belirteçleri yoktur.

Kullanici sınıfının iki adet yapıcı metodu bulunmaktadır. Bunlardan static olanı kullanicisayisi isimli static değişkenin başlangıç değerini atarken, static olmayanı Nick ve EMail değişkenlerinin atama işlemlerini gerçekleştirmektedir.

Kullanici sınıfından ilk nesne oluşturulduğunda hem static yapıcı metot hemde static olmayan yapıcı metot çalışacaktır(İlk static yapıcı metot çalışır). İlk nesneden sonra oluşturulacak diğer tüm nesnelerde sadece static olmayan yapıcı metot çağrılacaktır. Yani static yapıcı metot sadece ilk nesne oluşturulduğunda çalışır.

Static Sınıflar

Oluşturduğumuz sınıf içerisinde sadece static metotlar ve değişkenler bulunuyorsa sınıfı static olarak tanımlayabiliriz. Sınıfların static olarak tanımlanması bir zorunluluk değildir sadece okunabilirliği arttıran bir yaklaşımdır.

Matematik sınıfının üye elemanları(Topla ve Carp metotları) static olduğu için sınıfı da static olarak bildirdik. Matematik sınıfının static olduğunu gören bir programcı, sınıf içerisinde sadece static elemanların bulunduğunu anlayacaktır.

Static sınıflarla alakalı bilinmesi gerekenler;

  1. Static sınıflardan nesne oluşturulamaz. (new Matematik; YANLIŞ)
  2. Static sınıf türünden referanslar oluşturulamaz. (Matematik m; YANLIŞ)
  3. Static sınıfların içinde static olmayan metot yada değişken tanımlanamaz.
  4. Static sınıflarda kalıtım yoktur.

Serdar YILMAZ


Bu İçeriği Arkadaşlarınızla Paylaşmak İster misiniz?

Bir Yorum Yapın