"Enter"a basıp içeriğe geçin

Static

Static anahtar kelimesinin farklı kullanım alanları mevcuttur. Genel olarak program içinde sadece 1 kere tanımlanırlar ve tüm scope’lar (bloklar) için aynı çalışırlar.

Fonksiyonlarda static

Bir fonksiyon içinde kullanılırsa, fonksiyon her çağrıldığında son çağrıldığındaki durumunu korur ve aynı değer üzerinden çalışmaya  devam eder.

a değeri 0’dan başladı. ilk çağrılışta 1 oldu ve yazdırıldı. 2. çağrılışta int a = 0; görülmedi, çünkü hafızada bir kere tanımlanır. Önceki değeri olan 1’i arttırıp 2 yazdı. Aynı şekilde sonraki çağrılışlarda 3,4 diye gitti.

 

 

 

Sınıf Üye değişkenlerinde Kullanımı

Sınıfın içinde bir değişken static  olarak tanımlanırsa, bir nesneye değil tüm sınıfa ait olur. Yani sınıfın tüm nesneleri için o değişken ortaktır. Böylece nesneler arasında bağlantı kurulabilir.

a değişkeni artık belli bir nesnenin değil, tüm sınıfın ortak malıdır. Yani deneme::a şeklinde erişebildiğimiz gibi, nesnenin üyesiymiş gibi de erişebiliriz. deneme sınıfına ait iki nesne için de a değişkeni ortak olduğundan, ikisinin de üyesi gibi davranır. Eğer nesnelerden birinin içinde a değişkeni değiştirilirse, diğeri için de değişir.

 

Üye fonksiyonlarda Kullanımı

Üye değişkenlerde olduğu gibi, static olarak tanımlanan üye fonksiyonlar da tüm sınıfa ait olur.

 

 

 

Ancak bu üye fonksiyonlar, belli bir nesneye ait olmadığı için herhangi bir nesnenin static olmayan üyelerine erişemezler. Bu yüzden aşağıdaki kullanım hatalıdır.

 

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir