Forum
Sorum aşağıda ?? ile yorum yaptım. Kodun o kısmını anlatabilirseniz çok sevinirim .
class Employee
{
private string empName;
private int empID;
private float currPay;
private int empAge;
private string empSSN;
private static string companyName;
public Employee() { }
public Employee(string name, int id, float pay)
: this(name, 0, id, pay, "") { } // *???? burda ne yaptığını bana anlatabilir misiniz ?
public Employee(string name, int age, int id, float pay, string ssn)
{
// Better! Use properties when setting class data.
// This reduces the amount of duplicate error checks.
Name = name;
Age = age;
ID = id;
Pay = pay;
SocialSecurityNumber = ssn;
}
public static string Company
{
get { return companyName; }
set { companyName = value; }
}
public string Name
{
get { return empName; }
set
{
// Here, value is really a string.
if (value.Length > 15)
Console.WriteLine("Error! Name must be less than 16 characters!");
else
empName = value;
}
}
public int ID
{
get { return empID; }
set { empID = value; }
}
public int Age
{
get { return empAge; }
set { empAge = value; }
}
public string SocialSecurityNumber
{
get { return empSSN; }
set { empSSN = value; }
}
public float Pay
{
get { return currPay; }
set { currPay = value; }
}
}
class Program
{
static void Main(string[] args)
{
Employee emp = new Employee("Marvin", 456, 30000);
}
}
public Employee(string name, int age, int id, float pay, string ssn)
Buraya gelen verilerle construct ediyor. name = name, age = 0, id = id, pay = pay, ssn = ""
Tam üç adet Class ile aynı ada sahip contructor üretilmiş. Bu nedemek dersen. 1. si Overload yapmışsın, Class ı çağırırken üç farklı şekilde çağırabilirsin. Birde constractor, Class çalışma anında ilk çalışanlardır. Ve Hiç Class ismiyle aynı contractor yazmasanda derleyici bu yapıyı object tipini kalıtım alarak default değerlerle üretir.
Constructor Chaining miş bu. Diğer constructor ana constructor un çağrılmasını sağlıyo. yani işlemi tek constructorde yapıyo.
Burda güzel örnek.
http://www.codeproject.com/Articles/271582/Constructor-Chaining-in-Csharp .
Teşekkürler...