شی گرائی (بخش شانزدهم)
در بخش های قبلی دربارۀ سازنده ها صحبت کردیم ، در این بخش میخوام دربارۀ مخرب ها (Destructors) براتون صحبت کنم
خب دقت کنید که مخرب ها نقطه مقابل سازنده ها هستن و متدهای خاصی هستن که هنگام تخریب یک شی فراخوانی میشن می تونیم از مخرب ها برای پاک کردن منابعی که در برنامه ممون مورد استفاده قرار نمی گیرن استفاده کنیم.
دستور نوشتن مخرب کمی با سازنده ها متفاوته توجه کنید :
کد PHP:
~ClassName()
{
sample code;
}
مثل سازنده ها، مخرب ها باید همنام کلاس باشن که در اون تعریف میشن، به این نکته دقت کنید که قبل از نام مخرب علامت (~) رو بزارید.
یک مخرب نمی تونه سطح دسترسی (public) داشته باشه.
به کد زیر دقت کنید که سازنده ها به همراه مخرب ها فراخوانی شدن :
کد PHP:
using System;
public class sample
{
public sample()
{
Console.WriteLine("Constructor");
}
~sample()
{
Console.WriteLine("Destructor");
}
}
public class Program
{
public static void Main()
{
sample s = new sample();
}
}
در کلاس sample یک سازنده و یک مخرب تعریف کردم و در داخل متد Main یه نمونه از کلاس ایجاد کردم وقتی یه نمونه از کلاس ایجاد میشه سازنده فراخوانی شده، و پیغام مناسب نمایش داده میشه و وقتی از متد Main خارج میشیم نمونه ای که ایجاد شده نابود میشه و مخرب فراخوانی میشه