Son Haberler
Anasayfa / Yazılım / C# / static Metotlar, static Değişkenler ve Math Sınıfı

static Metotlar, static Değişkenler ve Math Sınıfı

Metotlar genelde bir nesne üzerinden yürütülürler ancak bu her zaman böyle değildir. Yani bir metot nesneden bağımsız olarak da yürütülebilmektedir. İşte bu tipteki metotlar static (statik) metotlar olarak adlandılırlar. Diğer adı ile sabit metotlar olarak da bilinirler. Bu metotlar bir nesne ile var olan metotlar değil, bir sınıfın kendisininde tanımlanmış olan metotlardır. Örnek verirsek Math sınıfının Pow metodu bir statik metottur. Ve bu metot ile bir değerin üssünü yani üssel ifade değerini hesaplayabiliriz. Bir metodu static olarak tanımlayabilmek için metot isminin hemen önünde static deyimini kullanırız. Oluşturulan veya oluşturulmuş olan her bir statik metodu ilgili sınıfın adının ardından nokta (.) kullanarak metot adını belirterek kullanabiliriz.

Yani SınıfAdı.MetotAdı(ilgili parametre(ler)) şeklinde kullanılır, örnek verirsek;

Math.Sqrt( 2500.0 )

Bunu kullanarak ilgili değerin sonucunu 50 buluruz. Burada kullanmış olduğumuz Math sınıfının içinde yer alan static Sqrt metodudur. Bu metot ile ilgili argümanın karekök değerini buluruz. Bu argüman double tipte olmalıdır. Dolayısı ile geri dönen değerde double tiptedir.

Console.WriteLine( Math.Sqrt( 2500.0 ) );

Görüleceği üzere herhangi bir nesneye bağımlı olmadan bu sınıfı ve ilgili static metodu kullanabiliyoruz. Math sınıfında yer alan tüm metotlar statik metottur. Dolayısı ile hepsinin kullanımı üstte görüldüğü gibidir, yani önce Math sınıfı yazılır sonra nokta (.) ve daha sonra da ilgili metodun adı gelir. Örnek olarak mesela sık sık kullanmış olduğumuz Console.WriteLine(), Consol.Write() bunlarda static metotlardır. Her ikisi de Console sınıfında yer alan static metotlardır. Yine bu static metotlar için kullanılan argümanlar sabit değerler olabildiği gibi, değişkenlerde olabilir. Örneğin;

Console.WriteLine(Math.Sqrt(a))

gibi de kullanılabilirler. Veya daha spesifik kullanımlarda olabilir. Örneğin a=8, b=4 ve c=2 olsun. Şöyle de bir kök alma işlemi yaptırabiliriz:

Console.WriteLine( Math.Sqrt(a + b * c) );

Burada parantez içi değer 16’dır. Çünkü 8.0 + 4.0 * 2.0 = 16.0’dır. Kök aldığımızda sonuç 4.0 olur. (Ayrıca görüleceği üzere önce çarpma işlemi sonra toplama işlemi yapılıyor, dikkat ediniz.)

Math sınıfına ait kullanılan metotlar aşağıdaki tabloda listelenmiştir :

2013051501

Math Sınıfı PI ve E Sabitleri : Math sınıfında iki static değişken bulunmaktadır, bunlar PI ve e sabiti olarak bilinirler. Bunları kullanabilmek için Math.PI ve Math.E şeklinde ifade ederiz. Marh.PI değer olarak 3.14159265358979323846 sayısına eşittir. PI sayısı bildiğiniz üzere bir dairenin çevresinin kendi yarıçapına oranıdır. Bir de static Math.E değişkeni vardır bunun da sayısal değeri 2.7182818284590452354’dir. Bu değerde logaritmik taban değerdir. Bu sayılar Math sınıfı altında public veya const olarak tanımlanırlar. Aslında bu sayıları kullanırken illaki const olarak tanımlamamıza gerek yok, çünkü bu sayı değerleri değiştirilemez. Eğer bir var olan bir değişkenizimizi sabit olarak tanımlamak istiyor isek bunun için const deyimini kullanırız.

Birde Main metoduna dikkat etti iseniz, hep static olarak tanımlanmıştır. Bunun sebebi şudur, Uygulama başlatıldığında, henüz sınıflardan herhangi bir obje oluşturulmadığında, Main metodu uygulamanın, programın yürütülmesini sağlamak için çağırılmaktadır. Main metodu aslında uygulamanın giriş metodudur. Böylelikle yani main metodunu static olarak oluşturarak, herhangi bir sınıftan örnek yani instance almadan programın yürütmesini sağlayabilmemiz amaçlanır. Main metodu uygulamanın en başında deklare edilir:

public static void Main( string args[] )

Bir cevap yazın

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