22 Mayıs 2015

C# Overloading Constructors



using System;

namespace Classes
{
    public class Kitap
    {
        public decimal Fiyat;
        public string Ad;
        public Kitap(decimal fiyat) { Fiyat = fiyat; }
        public Kitap(decimal fiyat, string ad) : this(fiyat) { Ad = ad; }//Burada Kitap(decimal fiyat) constructor u çağrılıyor.
        //Çağrılan constructor her zaman daha önce çalışır.
        //Bir constructor hiç bir zaman kendi referansı olamaz Mesela aşaüğıdaki şekilde tanımlanmış bir kodumuz olursa hata alacağızdır.
        // Yorumu kaldırıp deneyebilirsiniz. Çünkü constructor daha kendisini tanımlamamış oalcaktır.
        //public Kitap(decimal fiyat, string ad) : this(fiyat,ad.Ad) { }
    }
    
    class Program
    {
      
        static void Main(string[] args)
        {
            Kitap kitap = new Kitap((decimal)5,"Suç ve Ceza");//
            Console.WriteLine(kitap.Fiyat);
            Console.WriteLine(kitap.Ad);
            Console.ReadKey();

        }
    }
}