سربارگذاری سازنده ها (Constructor overloading) در سی شارپ

سی شارپ به شما اجازه می دهد تا در هنگام ایجاد یک سازنده جدید برای یک کلاس  ، آن سازنده را چندین باز مورد استفاده قرار دهید یا به اصطلاح سربارگذاری کنید .

یک نمونه خوب از سربارگذاری کلاس MessageBox می باشد که در بیشتر برنامه های ویندوزی کاربرد دارد .

csharp-constructor-overloading-1

در تصویر بالا مشاهده می کنید که کلاس MessageBox دارای 21 متد سربارگذاری شده برای سازنده خود می باشد .

در این مثال فرض بر این است که یک کلاس به نام Person داریم و می خواهیم چند سازنده برای آن ایجاد کنیم .

class Person
{

    public Person()
    {
    }

    public Person(String name)
        : this(name, 0, 0)
    {
    }

    public Person(String name, int age)
        : this(name, age, 0)
    {
    }

    public Person(String name, int age, float salary)
    {
        this.Name = name;
        this.Age = age;
        this.Salary = salary;
    }

    public override string ToString()
    {
        return "Name: " + this.Name + "\n" +
                "Age: " + this.Age + "\n" +
                "Salary: " + this.Salary + "\n";
    }

    public String Name { get; set; }
    public int Age { get; set; }
    public float Salary { get; set; }
}

نتیجه کدهای بالا به شکل زیر خواهد بود

csharp-constructor-overloading