-
مزید متد استاتیک چیست؟
با درود
دوستان مزیت متد استاتیک چیست؟ مزیت متغیر استاتیک را فهمیدم اما متد را خیر.
یعنی یک متد داریم که استاتیک هست و یک مقدار میگیره و انتصاب میده به یک متغیر
یک متد داریم که غیر-استاتیک هست و یک مقدار میگیره و انتصاب میده به یک متغیر
فرق این دو درچبیست؟
با تشکر
-
اگر منظورتون متدهای استاتیک در حوزه ی کلاس هست باید گفت که متدهای استاتیک هم مثل متغیرهای استاتیک کلاس نیازی به دستگیره ( ایجاد یک نمونه شی از کلاس ) ندارند و بدون نیاز به شی از طریق عملگر حوزه قابل دستیابی هستند. مزیت دیگه ای که میشه براشون مثال زد دستیابی به متغیرهای خصوصی کلاس توسط متدهای استاتیک بدون ایجاد یک نمونه ( شی ) از کلاس هست.
-
سلام.
مزیت اصلی متد استاتیک اینه که نیازی نیست یه instance از کلاسی که اون متد داخلش هست بسازین.
مثلا:
کد:
public class SomeClass
{
public int NonStaticMethod(int Input)
{
return Input;
}
public static int StaticMethod(int Input)
{
return Input;
}
}
وقتی میخواهیم استفاده کنیم از متد استاتیک خیلی راحت میشه اینجوری استفاده کرد:
کد:
int i = SomeClass.StaticMethod(2);
ولی برای استفاده از متد غیر استاتیک حتما باید یه instance ازش ساخته بشه تا بشه بعدا ازش استفاده کرد:
کد:
SomeClass SC = new SomeClass();
j = SC.NonStaticMethod(2);
یعنی به این صورت بنویسیم ارور میده:
کد:
int j = SomeClass.NonStaticMethod(2); //ERROR