آموزش سازنده ها و تخریب کننده ها در سی شارپ
سازنده ها متدهای ویژه ای هستند؛ که هنگام نمونه سازی یک کلاس استفاده شده اند. یک سازنده هرگز نمی تواند چیزی را بازگرداند؛ به همین دلیل است که شما نباید یک نوع داده ی بازگشتی برای آن تعریف کنید.
سازنده ها
یک متد نرمال مشابه زیر است:
public Car()
در مثالی که ما برای این فصل زده ایم؛ ما یک کلاس Car داریم؛ همراه با یک سازنده که یک رشته را به عنوان یک آرگومان اتخاذ می کند. البته؛ یک سازنده را می توان بیشتر از حد نیز پر کرد؛ به این معنی که می توانیم چندین سازنده با یک نام؛ و پارامترهای متفاوت داشته باشیم. برای مثال:
public Car()
{
}
public Car(string color)
{
this.color = color;
}
یک سازنده می تواند سازنده دیگری را فراخوانی کرد؛ که این امر؛ در چندین موقعیت می تواند کارآمد باشد. در ادامه می توانید مثالی را مشاهده کنید:
public Car()
{
Console.WriteLine(“Constructor with no parameters called!”);
}
public Car(string color) : this()
برنامه نویسی سی شارپ رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن، توسعه وب ... دانلود:
{
this.color = color;
Console.WriteLine(“Constructor with color parameter called!”);
}
اگر این کد را اجرا کنید؛ خواهید دید که سازنده بدون پارامترها ابتدا فراخوانی می شود. این می تواند برای نمونه سازی اشیاء مختلف برای کلاس در سازنده پیش فرض به کار برود؛ که از سازنده های دیگر کلاس می تواند فراخوانی شود. اگر سازنده ای که می خواهید فراخوانی کنید؛ پارامترهایی داشته باشد؛ می توانید این فراخوانی را نیز انجام دهید. در اینجا یک مثال ساده آورده شده است:
public Car(string color) : this()
{
this.color = color;
Console.WriteLine(“Constructor with color parameter called!”);
}
public Car(string param1, string param2) : this(param1)
{
}
اگر سازنده ای را فراخوانی کنید که دو پارامتر اتخاذ کرده است؛ اولین پارامتر برای فراخوانی سازنده ای به کار می رود که یک پارامتر دارد.
تخریب کننده ها
با این که سی شارپ خاصیت زباله روبی خودکار دارد؛ یعنی چارچوب، اشیائی که دیگر استفاده نمی کنید را رهاسازی می کند؛ ممکن است دفعاتی پیش بیاید که مجبور شوید تا حدودی به صورت دستی فضا را پاکسازی کنید. تخریب کننده ها شبیه به دیگر متدهای موجود در سی شارپ نیستند. در اینجا مثالی از تخریب کننده برای کلاس Car خواهید دید:
~Car()
{
Console.WriteLine(“Out..”);
}
زمانی که شیء توسط زباله روبی خودکار سیستم جمع آوری می شود؛ این متد فراخوانی می شود.