چه تکنولوژی می‌خواهید یاد بگیرید؟

نظرات و انتقادات خود را با ما در میان بگذارید

آپدیت روزانه

بیش از 1500 مطلب آموزشی

نیازهای روز

سوال مصاحبه: کلاس‌های استاتیک

به زبان ساده زمانی قصد داشته باشیم متد و متغیرهای استاتیک را در یک کلاس نگهداری کنیم آنگاه می‌توان کلاس‌های استاتیک ایجاد نمود. این کلاس‌ها قابل ارث بری نخواهند بود و به صورت پیشفرض کلاس مهروموم شده هستند و نمی‌توان از آنها نمونه ایجاد نمود. 

کلاس‌های استاتیک نمی‌توانند اعضا غیر استاتیک را در خود نگهدای کنند و در صورت استفاده خطا کامپایلری رخ می‌دهد.

سوال مصاحبه:

کلاس‌های استاتیک به چه صورت تعریف می‌شوند + توضیحات بیشتر؟ 

پاسخ:

به منظور ایجاد کلاس استاتیک، لازم است قبل از کلمه کلیدی class از کلمه کلیدی static استفاده شود و کلیه اعضا تعریف شده در این کلاس ملزم خواهند بود قبل از تعریف نوع از کلمه کلیدی استاتیک استفاده کنند:

//Static Class has only Static methods and
//Static variables
public static class Logger
{
    //Static variable
    private static int a;
 
    public static void Log()
    {
        Console.WriteLine("Log():static method");
    }
}
 
class Program
{
    static void Main(string[] args)
    {
        //Call Static method by class name
        Logger.Log();
    }
}

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

کلاس‌های استاتیک به صورت پیشفرض کلاس‌های مهروموم(Sealed) شده می‌باشند

امید نصری

0 نظر:

تعداد دیدگاه‌های کاربران : 0 دیدگاه
مهمان گرامی! برای ارسال نظر نیاز است وارد سایت شوید.


You must log on to comment.