7 Ekim 2014 Salı

Yapıcı Metot Constructor

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;
  1. Public olmalıdır
  2. sınıf ismi ile aynı olmak zorundadır
  3. deger döndürmezler void ,string ,int vs gibi tipler almazlar
  4. 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