PDA

View Full Version : آموزش: سازنده استاتیک و کاربرد آن



keiv@n
پنج شنبه 21 اسفند 1393, 08:54 صبح
با سلام خدمت دوستان

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

کاربرد سازنده استاتیک برای زمانی هستش که ما می خوایم یه مقدار دهی یا متد خواستی از کلاس مورد نظرمون ، فقط و فقط یک مرتبه و در هنگام ایجاد شیئ از کلاس یا مقدار دهی به عناصر استاتیک کلاس انجام بدیم شاید این مطلب یه خورده گنگ باشه که با یه مثال توضیح میدم :

من یه کلاس ساختم به نام test محتویات کلاس به صورت زیر :


public class Test
{
public static int number = 0;
public static int numberStatic = 0;
public Test()
{
number++;
}
static Test()
{
numberStatiC++‎‎‎‎;
}
}


داخل کلاس دوتا متغییر استاتیک گذاشتم یکی number و دیگری numberstatic ، در این کلاس از دو تابع سازنده استفاده شده اولی تابع سازنده معمولی و با accessType ، پابلیک و دومی با accessType ، استاتیک ....

حالا می خوام با یه مثال کاربرد سازنده استاتیک رو نشون بدم :

اگر داخل form load بیام سه عدد آبجکت از کلاس test بسازم به نظرتون متغییر های number ، numberstatic چه مقادیری خواهند داشت ؟




Models.Test test1 = new Models.Test();
Models.Test test2 = new Models.Test();
Models.Test test3 = new Models.Test();
Label1.Text = Models.Test.number.ToString();
Label1.Text = string.Format("number : {0} / numberStatic : {1}", Models.Test.number.ToString(), Models.Test.numberStatic.ToString());


درست حدس زدید : number : 3 / numberStatic : 1

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

موفق باشید