• مقدمه

در بخش ۶۵ام از سری آموزش‌های سی‌شارپ، شما با مفهوم تعریف مجدد متد آشنا شدید. در این بخش که تقریباً آخرین بخش از معرفی مفاهیم شیءگرایی می‌باشد، شما با مفهوم جدیدی با نام استاتیک یا Static آشنا می‌شوید.

  • متدهای Static در کلاس‌ها

اگر که می‌خواهید که چند متد بصورت سریع در دسترس داشته باشید و هروقت که بخواهید از آن‌ها استفاده کنید، می‌توانید که متدهایتان را بصورت Static تعریف نمایید. تفاوت متدهای Static با متدهای معمولی در این است که دیگر برای صدا زدن آن متد نیازی به ساخت یک شیء از آن کلاس نیست.

برای اینکه با هم مثالی را شروع کنیم، یک کلاس جدیدی را ایجاد کنید و نام آن را stats قرار دهید. برای اینکار، از منوی بالا وارد Project شده و سپس بر روی Add Class کلیک کنید. پس از ساخت کلاس، کدهای زیر را در آن قرار دهید:

public static int addUp(int num1, int num2)

{

return num1 + num2;

}

همانطور که می‌بینید، تنها تفاوتی که در تعریف این متد با سایر متدها قابل مشاهده است، کلمه کلیدی Static است.

حال یک button جدید به فرم خود اضافه کرده و بر روی آن دابل کلیک کنید تا وارد بخش کدنویسی آن شوید. برای اینکه از متد فوق استفاده کنید، کافیست که تنها کد زیر را بنویسید:

string answer;

answer = stats.addUp(5, 4).ToString();

MessageBox.Show(answer);

همانطور که در مثال می‌بینید، کافیست که شما با تایپ کردن نام کلاس به این متد دسترسی داشته باشید! دیگر نیازی به ساخت یک Object برای دسترسی به این تابع نخواهید داشت.

دقت کنید که علاوه بر متدهای static، متغیرهای داخل کلاس و همچنین Propertyها نیز می‌توانند Static باشند؛ حتی سازنده یا Constructor یک کلاس نیز می‌تواند Static باشد!

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