Metotlar konusunu işlediğimiz zaman metotların dörde ayrıldığından bahsetmiştim bunlardan ikisini (deger döndüren ,ve döndürmeyen)görmüştük.okumamış olanlar yada hatırlamak isteyenler Buraya göz atabilirler.Bugun üzerinde çalışacağımız metot ise constructor.kelime anlamı yapıcı olan inşa eden anlamına gelen constructor c# de sınıfı kuran metottur.diger metotlardan farklı olarak dönüş tipi almazlar (string,int,bool vs..) dönüş tipi olmadığı gibi void anahtar kelimesinde kullanmayız.ama parametre alabilirler ve overload edilebilirler yani aşırı yuklenebilinir.ayrıca sınıf ismi ilede aynı olmak zorundadır.sınıflara (class) ayrıntılı olarak baska bir konuda bakıyor olacağız. windows formu açarak ismini constructor verdim.solution explorer uzerinde proje adına sag tıklayarak add sekmesinden class seçiyorum.ismini constr verdim
resimle class tanımını kısmen görüyorsunuz
şimdi de bunu windows standart formu içinde inceleyelim formu cift tıklayarak kod kısmına geçelim
formun içindeki kod kısmı bizim tanımladığımız clasa oranla daha az koda sahip.aklınız karışmasın.fark ettiyseniz en dışta namespace alanı var. bu visual studioda bir proje acarken verdiğimiz isim .solution explorerde görünen proje ve solution ismidir. proje isminden sonra suslu parantezler acılp kapanır.onun içine clasımız yazılır claslar açık yesil renkte olurlar. bizim oluşturduğumuz clasın ismi constr windows formunda ise form1 clasların suslu parantezleride kapanınca artık içine metot yada değişken tanımı yapabiliriz. metotlar class dısında olmaz arkadaslar claslarda namespaca dısında olmaz. sıralama once name space> class>değişken yada metot seklindedir. yazılanları resimle anlatacak olursak
tekrar classımızın olduğu alana dönerek class bölumunundeki parantezlerin içine ctor yazarak iki kere tab tusuna basalım ctor code snippet denilen kısa bir yoldur studio nun editörü otomatik olarak kodu tamamlar
tab tusundan önceki
tabtan sonraki hali .şimdide uygulama ile asıl konumuza gelelim aşağıda constr icindeki degişkenler ile sınıfın kurucu metodunu göruyorsunuz
burada hazır aşırı yuklenmekten bahsetmisken diger metotları anlattığım derste buna değinmedigim icin şimdi
tam zamanı diye düşünerekten bahsedeyim biraz.aşırı yuklenme bir metodu birden fazla sekilde çagırabilme kurabilme şeklidir diye ifade edebiliriz mesela buna örnek vermek gerekirse aşagıdaki resim size yol gösterici olacaktır
formun load eventinde(olay) messagebox sınıfımızı kullanırken degerlerimizi girerken aşagı dogru acılan oklarla parametre sayıları farklı olan kullanımlardan birisini seceriz ve degerleri veririz işte bu bir metodun birden fazla şekilde kullanılabilmesi anlamına gelir zaten parametre sayıları aynı isimleri aynı veri tipleri aynı olan metot kullanmaya calıssak ide bize hata verecektir.metotların ya parametre sayısı değişik olacak ya veri tipi yani en azından bir imzası farklı olmak zorunda.şimdi constr adlı sınıfımızı yapıcı metot ile kurmayı görelim
bir sınıfı kurarken eğer biz müdahale etmezsek c# varsayılan olarak o sınıfı new anahtar kelimesini kullanırken yapıcı metot vasıtası ile kendisi kurar.fakat metodu siz kurup parametreli hale getirirseniz c# otomatikten kontrolü size bırakır. ve parametre kullanmadığınız metot artık geçersiz hale gelir. ancak siz class içinde parametresiz olan kullanımıda koda eklerseniz artık iki şekilde'de kullanımı mümkün olur.
yapıcı metotların özelliklerini tekrar hatırlayacak olursak;
- Public olmalıdır
- sınıf ismi ile aynı olmak zorundadır
- deger döndürmezler void ,string ,int vs gibi tipler almazlar
- parametreli yada parametresiz kullanımı mevcuttur.
parametre tanımlarsak varsayılan parametresiz kullanımı ortadan kalkar birde static olma özelliği vardırki o zaman public erisim belirleyicisini kullanmayız.bunu referans ve deger tipleri konusuna saklayalım.
resmi bol uygulaması az bir konu oldu.simdilik söyleyeceklerim bu kadar bir kaska konuda görusene kadar saglıcakla kalın.
Hiç yorum yok:
Yorum Gönder