C# Global Değişkenler
Selam C# severler :)
Yep yeni bir makaleyle tekrar birlikteyiz ve bugünkü konumuz global değişken yaşam alanı!
Eğer makalelerimi takip ediyorsanız şimdiye kadar değişkenlerimizi hep metotlar içerisinde yazıyor ve yazdığımız değişkenlerin tipi (string,int) ne olursa olsun hep o metot içerisinde kullanmak zorunda kalıyorduk.Global değişkenler sayesinde değişkenlerimizin karşılığına değer vermeksizin aynı değişkeni diğer metotlar içerisinde de kullanma şansına sahip oluyoruz,elbette yazılım dünyasında çok sık kullanmasak bile gerektiğinde güzel bir uygulama diyebiliriz :)
Bildiğiniz gibi yazılım yapısı en dış kümeden içeriye doğru sırasıyla isim-uzay,sınıf,metot şeklinde yapılanmıştır ve global değişken sınıf kümesinin içerisinde yer almaktadır,yani matematikte "b alt kümesidir a" gibi düşünebilirsiniz.Bu durumda global değişkenimiz aynı sınıf altında herhangi bir metot içerisinde kullanılabilir ancak çok önemli bir nokta var: aynı isimde değişken alt metotlarda yeniden tanımlanamaz.
Konuya örneklerle devam edersek hemen Visual Studio'yu açalım ve "globalDegisken" adında bir Windows Form projesi oluşturalım,ardından formumuza bir buton ekleyelim ve butona çift tıklayarak click eventine geçelim:
Burada button1'in click eventi zaten başlı başına bir metot olduğunu biliyoruz,şimdi metot dışında ama sınıf içerisinde
bir değişken tanımlayalım:
"isim" adındaki değişkenimiz Form1 sınıfı elemanı oldu ve artık tüm metotlarda kullanılabilir.Şimdide sınıf içerisinde tanımladığımız ama metot içerisinde tanımlamadığımız değişkenimizi messagebox ile ekranda görüntüleyelim:
butona tıklıyoruz:
Gördüğünüz gibi global değişkenimizi event içerisinde kullanabiliyoruz,şimdi de değişkenimizi tekrar tanımlamaya çalışalım:
Hoopp o da ne "the variable...." gerisini yazmaya üşeniyorum ama olayın Türkçesi "Bu değişken daha önce zaten tanımlanmış ama değeri hiç kullanılmamış!" diyor,yani değeri ne olursa olsun sınıf içerisinde tanımlanmış bir değişken aynı isimde yeniden alt kümelerde (metotlarda) yeniden tanımlanamaz ancak değeri değiştirilebilir:
Sınıf içerisinde tanımladığımız "isim" isimli değişkenimize metot içerisinde yeniden tipini yazmadan sadece ismini ve yeni
karşılığını yazdım.Şimdi de mesaj kutusundaki görüntüsüne bakalım:
Burada süreç şu şekilde işliyor: ilk önce program çalıştığında biz butona tıklamadan önce değişkenimizin değeri "Serkan" ve biz butona tıkladığımızda program button1 click eventine geldiğinde sınıf içerisindeki aynı isimli değişkenin
değerini "Serkan Çamur" olarak atadı,bu yüzden mesaj kutusundaki değer son değeri aldı.
Global değişken ile ilgili diğer bir önemli nokta ise sınıf içerisinde tanımlanan değişkene değer atamak zorunda değiliz
ancak değişkeni messagebox içerisinde kullanabilmek için mutlaka değişkenimize değer atamalıyız.Bununla ilgili küçük bir örnek yapalım ve sınıf içerisinde meyve isminde string tipinde bir değişken oluşturalım:
Burada sınıf içerisindeki değişkenimize değer atamadık ancak metot içerisinde değerini verdik ve değer tanımlamasını şimdi messagebox.show metodu içerisinde kullanabiliriz:
Global değişken yaşam alanıyla ilgili bu kadar örnek şimdilik yeterlidir diye umuyorum,gelecek makalelerimizde görüşmek
dileğiyle hoşçakalın :)
Projeyi İndir
Yep yeni bir makaleyle tekrar birlikteyiz ve bugünkü konumuz global değişken yaşam alanı!
Eğer makalelerimi takip ediyorsanız şimdiye kadar değişkenlerimizi hep metotlar içerisinde yazıyor ve yazdığımız değişkenlerin tipi (string,int) ne olursa olsun hep o metot içerisinde kullanmak zorunda kalıyorduk.Global değişkenler sayesinde değişkenlerimizin karşılığına değer vermeksizin aynı değişkeni diğer metotlar içerisinde de kullanma şansına sahip oluyoruz,elbette yazılım dünyasında çok sık kullanmasak bile gerektiğinde güzel bir uygulama diyebiliriz :)
Bildiğiniz gibi yazılım yapısı en dış kümeden içeriye doğru sırasıyla isim-uzay,sınıf,metot şeklinde yapılanmıştır ve global değişken sınıf kümesinin içerisinde yer almaktadır,yani matematikte "b alt kümesidir a" gibi düşünebilirsiniz.Bu durumda global değişkenimiz aynı sınıf altında herhangi bir metot içerisinde kullanılabilir ancak çok önemli bir nokta var: aynı isimde değişken alt metotlarda yeniden tanımlanamaz.
Konuya örneklerle devam edersek hemen Visual Studio'yu açalım ve "globalDegisken" adında bir Windows Form projesi oluşturalım,ardından formumuza bir buton ekleyelim ve butona çift tıklayarak click eventine geçelim:
Burada button1'in click eventi zaten başlı başına bir metot olduğunu biliyoruz,şimdi metot dışında ama sınıf içerisinde
bir değişken tanımlayalım:
"isim" adındaki değişkenimiz Form1 sınıfı elemanı oldu ve artık tüm metotlarda kullanılabilir.Şimdide sınıf içerisinde tanımladığımız ama metot içerisinde tanımlamadığımız değişkenimizi messagebox ile ekranda görüntüleyelim:
butona tıklıyoruz:
Gördüğünüz gibi global değişkenimizi event içerisinde kullanabiliyoruz,şimdi de değişkenimizi tekrar tanımlamaya çalışalım:
Hoopp o da ne "the variable...." gerisini yazmaya üşeniyorum ama olayın Türkçesi "Bu değişken daha önce zaten tanımlanmış ama değeri hiç kullanılmamış!" diyor,yani değeri ne olursa olsun sınıf içerisinde tanımlanmış bir değişken aynı isimde yeniden alt kümelerde (metotlarda) yeniden tanımlanamaz ancak değeri değiştirilebilir:
Sınıf içerisinde tanımladığımız "isim" isimli değişkenimize metot içerisinde yeniden tipini yazmadan sadece ismini ve yeni
karşılığını yazdım.Şimdi de mesaj kutusundaki görüntüsüne bakalım:
Burada süreç şu şekilde işliyor: ilk önce program çalıştığında biz butona tıklamadan önce değişkenimizin değeri "Serkan" ve biz butona tıkladığımızda program button1 click eventine geldiğinde sınıf içerisindeki aynı isimli değişkenin
değerini "Serkan Çamur" olarak atadı,bu yüzden mesaj kutusundaki değer son değeri aldı.
Global değişken ile ilgili diğer bir önemli nokta ise sınıf içerisinde tanımlanan değişkene değer atamak zorunda değiliz
ancak değişkeni messagebox içerisinde kullanabilmek için mutlaka değişkenimize değer atamalıyız.Bununla ilgili küçük bir örnek yapalım ve sınıf içerisinde meyve isminde string tipinde bir değişken oluşturalım:
Burada sınıf içerisindeki değişkenimize değer atamadık ancak metot içerisinde değerini verdik ve değer tanımlamasını şimdi messagebox.show metodu içerisinde kullanabiliriz:
Global değişken yaşam alanıyla ilgili bu kadar örnek şimdilik yeterlidir diye umuyorum,gelecek makalelerimizde görüşmek
dileğiyle hoşçakalın :)
Projeyi İndir
Teşekkürler.
Global değişken demişsin, güzel de anlatmışsın, ama başka sınıftan nasıl çağrılacağından bahsetmemişsin be kardeşim. :(