static, void, return kavramları

By gokhan, 25 Ekim 2016

C# programında değişken, metot ya da diğer sınıf bileşenleri tanımlanırken kullandığımız static, void, return gibi ifadeler bulunmaktadır. Bu ifadeler kullanılan sınıf bileşeninin türünü ve kullanım şeklinin belirlenmesi için kullanılan belirteçlerdir.

Metot Türleri

C# programında tanımlama yapabileceğiniz iki tür metot bulunmaktadır. Bu metotların farkı Main ya da farklı bir programda kullanılacak bir değeri döndermesi (int, string, double, … return) ya da sadece işlemi yapması fakat işlem sonucunu ilgili alana geri döndermeyerek sadece sınıf içinden kullanımını sağlamak(void) için kullanılan fonksiyon türleridir. Bu kısımla alakalı örnekler farklı yazılarda verilerek ikisi arasındaki fark detaylı olarak incelenecektir.

return: Bir işlem sonucunda elde edilen değeri kullanıldığı fonksiyona dönderen ifadedir. Bu ifade dönderilecek ifadenin türüne göre tanımlanan fonksiyondaki işlem sonucunu değer olarak geri gönderir.

[csharp]
public static int Toplama(int x, int y)
{
return x+y;
}

//Kullanımında fonksiyondan gönderilen sonucu bir değişkene atmamız gerekir
int sonuc=Toplama(4,5);
[/csharp]

void: Bu ifade değer döndermeden yapılacak fonksiyonel işlemlerin gerçekleştirilmesi için kullanılır. Diğer tarafa sonucu göndermez sonuc ya o class içerisinde kalır ya da ekrana yazdırılabilir.

[csharp]
public static void Toplama(int x, int y)
{
Console.WriteLine(x+y)
}

//Kullanımında direk yazdırılır
Toplama(4,5);
[/csharp]

static: Bu ifade ile yazılan bir fonksiyona erişmek için herhangi bir nesnenin türetilmesine gerek yoktur. Direk sınıfAdi.FonksiyonAdi şeklinde yazdığınız fonksiyonu kullanabilirsiniz. Programlama sırasında kullandığınız Console.WriteLine, Console.ReadLine, Math.Pow, OleDB sınıfındaki fonksiyonlar gibi pek çok fonksiyon static olarak tanımlanmış sınıf bileşenlerine örnek gösterilebilir. Bu ifadeyle alakalı detaylı örnek başka bir uygulamada verilecektir.

[csharp]
class Matematik
{
public static int KareAl(int x)
{
return x*x;
}

public int KupAl(int x)
{
return x*x*x;
}
}

//Bu sınıftan new anahtar kelimesiyle nesne oluşturularak bu nesnedeki fonksiyonlar kullanılabilir.
int kare=0, kup=0;
Matematik a=new Matematik();
kare=a.KareAl(5);
kup=a.KupAl(4);

//KareAl fonksiyonu static tanımlandığı için bu fonksiyona nesne türetmeden direk erişilebilirdi
kare=Matematik.KareAl(5);

//Fakat KupAl fonksiyonu static tanımlanmadığı için aşağıdaki satırda hata verecektir.
kup=Matematik.KupAl(4);

[/csharp]

What do you think?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.