کلاس Static
یک کلاس static کلاسی است که همه اعضای آن static باشند. یکی از روشهای معمول استفاده از کلاس static، ایجاد یک کتابخانه ریاضی که شامل تعدادی از توابع و مقادیر است، میباشد. کلاس Math یکی از این کلاسها است که در درسهای آینده در مورد آن توضیح میدهیم. موارد مهمی که در مورد این کلاسها باید بدانید عبارتند از :
- در تعریف کلاس static باید از کلمه static استفاده شود.
- همه اعضای این کلاسها باید static باشند.
- از کلاس static نمیتوان نمونه (Object) ایجاد کرد.
- کلاسهای استاتیک به ضورت ضمنی sealed هستند، در نتیجه نمیتوان از آنها ارث بری کرد.
- این کلاسها نمیتوانند سازنده یا constructor داشته باشند، ولی با این حال میتوان از static constructor ها برای مقدار دهی به عناصر static کلاس، استفاده کرد. توجه کنید که static constructor ها پارامتر و سطح دسترسی ندارند.
- برای دسترسی به اعضای static ای که در کلاس هستند، کافی است ابتدا نام کلاس را نوشته، سپس عملگر (.) و در آخر نام عضو استاتیک را بنویسید.
به مثال زیر توجه کنید :
1: using System; 2: 3: namespace StaticClass 4: { 5: public static class Person 6: { 7: public static string ShowMessage(string message) 8: { 9: return message; 10: } 11: } 12: 13: class Program 14: { 15: static void Main(string[] args) 16: { 17: Console.WriteLine(Person.ShowMessage("Hello World!")); 18: } 19: } 20: }
Hello World!
در کد بالا یک کلاس استاتیک به نام Person در خطوط 11-5 تعریف شده است که دارای یک متد استاتیک با نام ()ShowMessage میباشد (خطوط 10-7). همانطور که در خط 17 مشاهده میکنید برای دسترسی به این متد استاتیک، بدون اینکه از کلاس شیء ایجاد کنیم، ابتدا نام کلاس سپس علامت نقطه و در آخر نام متد را مینویسیم.
سلام خسته نباشید
در بالا گفته شده که در کلاس static نمیتوان object ایجاد کرد .منظورتونو از object نمیفهمم میشه توضیح بدید؟
سلام
منظور از Object همون شئ هستش. شما در حالت عادی اگه بخواین به فیلدها یا متدهای یک کلاس دسترسی داشته باشین باید یک شئ از کلاس ایجاد کنید و بعد با علامت نقطه به فیلد یا متد دست پیدا کنید :
ولی واسه کلاس استاتیک اینطور میشه