Bu yazımızda kısacık bir kaç ipucu ile Class Yazma, Statik Method, Method Overriding işlemlerini irdeleyeceğiz. Elbette burada anlattığımdan ibaret değil ama, bir ipucu olur niyetiyle gözatalım istiyorum.
Statik method, Sınıfa ait bir methodun yavru değişken oluşturularak mı yoksa oluşturmaksızın mı kullanılacağını atamaya yarar.
Sinifimiz yavruDegisken = new Sinifimiz(); yavrudegisken.YeniMethodumuz() // Sinifimiz sınıfı içerisinde yazdığımız YeniMethodumuz metodunu çağırıyoruz. // Methodumuz static olsa idi, böyle çağırmayacaktık.
Sınıfmızdan nesne türeterek kullandık.
Eğer methodumuzu statik olarak belirlese idik, o zaman new anahtar kelimesini kullanmayacak, sınıftan(class) yeni nesne türetmek ihtiyacı hissetmeyecek idik. Örneğimizle daha iyi anlaşılacağını düşünüyorum.
Senaryomuz basit, ama sınıfları ve statik metot kavramını anlayacağız sadece.
Önce, Class ımızı ekleyelim. Add New Item ile Class seçip isim veriyoruz. Class’ın (Sınıfın) yapacağı işe uygun olarak isimlendirilmesi önemlidir. RastGeleSayiUret deyip Class ımızı ekliyoruz.
/// <summary>
/// Buraya Sınıfımızı Ne İş Gördüğünü Belirten Tanımlar Yazabiliriz.
/// </summary>
public class RastGeleSayiUret
{
public RastGeleSayiUret()
{
//
// TODO: Add constructor logic here
//
}
}
Görüldüğü gibi class boş. Henüz bir metot yazılmış değil. Şimdi başlayalım Class’a iş vermeye.
Metodumuzun static olmasını istiyor ve bunu başına static anahtar kelimesini getirerek yapıyoruz.
Uret() fonksiyonumuz/metodumuz, parametre olarak int tipinde max_aralik parametresi alıyor.
public static int Uret(int max_aralik)
{
if (max_aralik < 0)
{
max_aralik = 0;
// eğer maksimum değer, 0'dan küçükse, sıfıra eşitleyelim.
}
else if (max_aralik > 1000000) max_aralik = 1000000;
// eğer maksimum değer, 1000000'dan büyükse, 1000000'a eşitlensin.
Random rand = new Random(); // new anahtar sözcüğü ile Randon sınıfından yeni nesne türetiyoruz.
int sayi = rand.Next(aralik); //üretilen rand nesnesi ve "."(nokta) operatörü yardımı ile Random sınıfının Next metodunu çağırıyoruz.
// Çağırdığımız Next metoduna, parametre olarak, metot kullanılırken istenecek parametre olan max_aralik değerini veriyoruz.
return sayi;
}
static metodlar, geri dönüş değeri ister. static olmayan metotlar sadece çalışırlar. geriye değer döndürmezler. Örneğin, ToString(); metodu sadece çağırıldığı yerde çalışırlar ve geriye değer döndürmezler. Ama static metodlar değer döndürüler, ve return anahtar kelimesi ile döndürülen değerin belirtilmesi lazımdır.
Şimdi gidip herhangi bir yerde, bu sınıfı kullanarak, 3 satırlık kodu tek satıra indirerek, ve her ihtiyacımız olduğunda Uret static methodunu kullanarak rast gele sayı üretelim.
Ben herhangi bir sayfanın PageLoad event ine gidip orada bu sınıfı ve metodu kullanacağım.

Gördüğünüz gibi, RastGeleSayiUret sınıfının Uret metoduna, new anahtar kelimesini kullanmadan eriştik. İpucu balonunda olduğu gibi, Uret metodu max_aralik ile, Uret fonksiyonunun, hangi sayıya kadar rastgele sayı üreteceğini soruyor. Biz örneğin 100 olarak girelim.
string rasgele1 = RastGeleSayiUret.Uret(100).ToString(); Label1.Text = "Rastgele Sayımız: " + rasgele1;
Sonuç : Rastgele Sayımız: 96
Method overriding ile devam edeceğiz…



July 28th, 2010
vestanbul
Posted in
Tags: 