Bugün sizlere işlerinizi acayip bir şekilde kolaylaştıracak olan Metotları anlatacağım.
İlk önce Metot nedir kimin nesidir bir anlatalım.
Metotlar bir program içerisinde sürekli yaptığımız bir işi(Textbox'ları silmek gibi) tek bir kere yazarak istediğimiz yerlerde kullanabildiğimiz kod bloğudur diyelim :D
Bu metotlar parametre alan ve parametre almayan metotlar olmak üzere ikiye ayrılır.
Biraz metot yazmanın faydalarından bahsedelim.Şimdi siz bir atıyorum ürün satış programı yazdınız.%18 Kdv oranı olarak ürünlerinizi satıyosunuz.Ama oda ne hükümet dedi ki Kdv oranı %10'a düştü.Eee sizde heryerde nerde ürün satışı ile ilgili bir yer olsa siz işte ürün fiyatı*adeti*Kdv oranı.... diye işlem yapmıştınız.Şimdi bu işlemi yaptıüınız her yeri değiştirmeniz gerekecek.Amma korkutucu dimi :D .Ama metot yazmış olsaydınız sadece ve sadece 1 yeri değiştirmeniz gerekecekti.Ne kadar güzel dimi.
Şimdi metotlara geçmeden önce Access Modifiers(Erişim Belirteçleri) nedir ondan bahsedelim.
Erişim denetleyicileri (Access Modifiers) program içerisinde tanımlanan değişkenlere nasıl ulaşılabileceğini belirtir.
- Private
Eğer bir değişkeni veya bir metotu Private olarak tanımlarsak o değişkene veya metota sadece tanımlandığı class içerisinden erişilebilir.Her değişkenin vs. varsayılan erişim belirteci Private'dir.
- Public
Eğer bir değişkeni veye bir metotu Public olarak tanımlarsak o değişkene veya metota kod ekranı içerisinde istediğimiz yerden ulaşabiliriz.
- İnternal
Ben İnternal'a bir nimet olarak bakıyorum aslında :D.Çünkü bir değişkeni veya metotu İnternal olarak tanımladığın zaman o metota veya değişkene başka formdanda erişebiliyorsun.
- Protected
Protected Public ve Private'in birleşimidir.Bir değişkeni vb. şeyleri Protected tanımlarsak tanımlandığı sınıftan türetilen sınıflar bu üyeye ulaşabilir.Ama bu sınıftan türetilmeyen başka bir sınıf bu değişkene vs. ulaşamaz.
- Protected İnternal
Aslında bu çok önemli değil yani binde bir kullanacağınız birşey.Zaten bunu kullandığınız yerlere gelmişseniz zaten bunların inciğini boncuğunu biliyor olursunuz muhtemelen....
Evet şimdi asıl konumuza gelelim.Metotlar.
Parametre Almayan Metotlar
Bu metotlar geriye birşey döndürmeyen metotlardır.
Örnek vericek olursak Textbox'lardaki değerleri silen bir metot.
Parametre almayan metotlar şöyle yazılır.
AccessModifiers void Metotİsmi()
{
İşlemler.....
}
Burada void diye birşey belirttik.Bu metotun geriye birşey döndürmeyeceğini belirtir.
Hemen bir örnek yapalım isterseniz.
3 tane Textbox'umuz olsun.Bir metot yazalım ve bu metotu çağırdığımız buton bu Textboxları silme işlemini yapsın.
Şimdi bir Windows Form açın.
İçine üç tane TextBox ekleyin.Bir tanede temizle adında buton ekleyin.
Kod ekranına gelip Form classının içine şu metotu yazıverin.
void Temizle()
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();}
Burda gördüğünüz üzere metotun başına bir erişim belirteci koymadı.Zaten varsayılan değer privatedir.Form classı içerisinde tanımladığımız içinde temizle butonundan rahatlıkla ulaşabiliriz.
Sonrada Temizle butonunun Click eventinde temizle metotunu çağırmak gerekir.Bunuda şu şekilde yapacağız.
Temizle();
Butonun click eventinde bunu yazarsanız Temizle butonuna tıklandığında değerleri silmiş olur.
Evet sadece bukadarcık metot yazmak ne kolaymış dimi :D
Şimdi gel gelelim Parametreli Metotlara.
Parametreli Metotlar
Bu metotlarda geriye bir değer döndüren metotlardır.Örnek vericek olursak iki sayıyı toplayan bir metot.
Şimdi bir örnek yapalım.
Bu örnek parametre olarak verdiğimiz iki sayıyı toplasın ve bize geri döndürsün.
Şimdi formumuza iki Textbox bir buton ve bir tane label atın.
Sonra form classına şu metodu yazın.
public int Topla(int a,int b)
{
return a + b;
}
Burda ne yaptık biraz açıklayalım.İlk önce metotu public tanımladık.Aslında public tanımlamasakta olurdu.Ama onuda denemiş olalım diye ekledim.Ondan sonra int kullanmışım.Bu int metodun geriye döneceği değerin tipini belirtir.Sonra metot isminden sonra parantez açıp parametreler verdim.Örnekte iki sayıyı toplayacağımız için 2 tane parametre verdim.Sonra return ile a parametresi ile b parametresinin toplamını döndürdüm.
Şimdi ise bu metota toplama yapacağımız değerleri vermeye geldi sıra.
Bunun için ilk önce Textboxtaki değerleri almamız lazım.
int bir = Convert.ToInt32(textBox1.Text);
int iki = Convert.ToInt32(textBox2.Text);
Bu şekilde değerleri iki int değişkene aldık.Şimdi sıra parametre vermeye geldi.
label1.Text = Topla(bir, iki).ToString();
Burdada Topla metotuna bir ve iki değişkenlerini parametre olarak verip sonucu label1'e yazdırdık.
Şimdide yararlı olabileceğini düşündüğüm Metotlara açıklama girmeyi anlatacağım.
Bir hazır metot kullanırken elbet yanında kutucuk şeklinde çıkan açıklamalar görmüşsünüzdür.
Şunun gibi

Böyle bir şeyi nasıl yapacağımızı anlatacağım şimdi.
İlk önce yazdığımız metotun üstüne gelin.Ben iki sayıyı toplayan metot üzerinde bu işlemi yapacağım.
Metotun üstünde üç kere /// işareti koyun.
Sonra altta şöyle bir kod çıkacak
/// <summary>
///
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
Burda <summary></summary> tagları arasına metotumuzun genel açıklaması yazılır."<param name="a"></param>" bu taglar arasında metotumuzda bulunan a parametresinin ne işe yaradığı yazılır."<param name="b"></param>" burada ise b parametresinin ne işe geldiği yazılır."<returns></returns>" tagları arasındada metotun geriye döndürdüğü değer ile ilgili bilgiler yazılır.
Bunu yaptıktan sonra böyle birşey olacaktır.

Artık bu metotun ne işe yaradığını herkes anlaryabilir.
Evet bu makalede bu kadar.Umarım yararlı olmuştur.
Sorularınız için ekrmkr93@gmail.com adresine posta atabilirsiniz.
İyi Günler.
0 yorum:
Yorum Gönder