using System;
namespace Classes
{
public class Tavsan
{
public readonly string Ad;//Readonly olduğuna dikkat edelim
public bool HavucSever;
public bool InsanSever;
public Tavsan() { }
public Tavsan(string ad) { Ad = ad;}
}
class Program
{
static void Main(string[] args)
{
Tavsan t1 = new Tavsan { Ad = "Bo", HavucSever = true, InsanSever = false };//HATA
//Constructor 'un avantajı bir readonly parametresini nesnemizi oluştururken yaratabilmemizdir. Üstteki nesne hata verir
//Çünkü önce bir class oluşturduk. Ve ardından üzerinde değişiklik yaptık.
//Ama alltaki örneğe dikkat ederseniz constructor yapısı ile önce isimi yapılandırdık. Bu yüzden hata almadık. Nesnenin ileride değişmemesi gerektiği
//durumlarda bu yapının kullanılması işimizi kolaylaştıracaktır.
Tavsan t2 = new Tavsan("Bo") { HavucSever = true, InsanSever = false };
Tavsan gecici1 = new Tavsan();
gecici1.Ad = "Bo";//HATA
gecici1.HavucSever = true;
gecici1.InsanSever = false;
Tavsan v1 = gecici1;
Tavsan gecici2 = new Tavsan("Bo");
gecici2.HavucSever = true;
gecici2.InsanSever = false;
Tavsan v2 = gecici2;
}
}
}