پاسخ:
سلام.
یه کم توضیحش سخته! آخه مباحث مختلف برنامه نویسی رو دربر میگیره. اما سعی خودم رو می کنم.
در مبحث شیئ گرایی، وقتی از یک Class نمونه های مختلفی ایجاد می کنیم، اعضای آن کلاس بصورت جداگانه در نمونه ها قرار میگیرند و اعضای مربوط به نمونههای مختلف، با هم هیچ ارتباطی ندارند. اما این امکان وجود داره که، بعضی (یا همه) از اعضای Class بصورت مشترک در همه نمونهها قابل دستیابی باشند؛ یعنی اگر یکی از نمونه ها، در یکی از اعضای خود تغییری بوجود آورد، بقیه نمونه های آن Class از آن تغییر آگاه شوند.
کلیدواژه static دقیقا همین کار رو انجام میده.
فرض کنید یک Class با نام Test داشته باشیم:
public class Test{
public static int idx;
public int age;
}
در این کلاس دو عضو داریم که یکی از آنها بصورت static تعریف شده. حالا از این کلاس نمونه سازی می کنیم:
Test ali=new Test();
Test reza=new Test();
خوب الآن 2 نمونه از کلاس Test ساختیم که اسمشون ali و reza هست. حالا به کد زیر دقت کنید:
ali.idx=25;
reza.age=19;
MessageBox.Show(reza.idx.ToString());
در قطعه کد بالا، مقدار idx مربوط به reza رو تغییر نداده بودیم؛ اما خواهید دید که عدد 25 به نمایش در میآید. ولی عضو age در هر دو نمونه بصورت مستقل عمل میکند.
امیدوارم تونسته باشم مفهوم رو رسونده باشم. برای اطلاعات بیشتر به
اینجا مراجعه کنید.
موفق باشید
یاعلی