اعضای ایستا

آموزش اعضای استاتیک یا ایستا (Static) در سی شارپ

اساطیر زبان

همان طور که در فصل قبلی دیدیم، روش معمول برای ارتباط برقرار کردن با یک کلاس، ایجاد یک نمونه جدید از کلاس در سی شارپ است و سپس کار روی روی شیء حاصل است. در بیشتر موارد؛ این همان چیزی است در کلاس ها وجود دارد؛ توانایی برای نمونه سازی چندین کپی از یک کلاس مشابه و سپس استفاده از آنها به شیوه هایی متفاوت. با این حال، ممکن است بخواهید کلاسی داشته باشید که بدون نمونه سازی آن؛ از آن استفاده کنید. یا حداقل یک کلاس داشته باشید که در آن بتوانید از اعضا بدون ایجاد یک شیء برای آنها استفاده کنید. برای مثال؛ ممکن است یک کلاس با یک متغیر داشته باشید که بدون توجه به این که کجا و چگونه مورد استفاده قرار می گیرد؛ همیشه همان باقی می ماند.

یک کلاس می تواند استاتیک باشد و همچنین اعضا و نیز توابع و فیلدهای ایستا داشته باشد. یک کلاس استاتیک نمی تواند نمونه سازی شود؛ بنابر این؛ به عبارت دیگر؛ این کلاس بیشتر به شکل گروه بندی اعضای مربوط به هم کار می کند؛ تا این که به عنوان یک کلاس واقعی کار بکنند. شما ممکن است انتخاب کنید که در عوض یک کلاس غیر استاتیک ایجاد کنید؛ اما به آن اجازه دهید که برخی اعضای استاتیک داشته باشد. یک کلاس غیر استاتیک را می توان همچنان نمونه سازی کرد و مشابه یک کلاس مرتب به کار گرفت، اما شما نمی توانید از یک عضو استاتیک روی یک شیء کلاس استفاده کنید. یک کلاس استاتیک ممکن است فقط شامل اعضای استاتیک باشد.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

ابتدا؛ در این قسمت مثالی از یک کلاس استاتیک را مشاهده کنید:

public static class Rectangle

{

public static int CalculateArea(int width, int height)

{

return width * height;

}

}

همان طور که می بینید؛ از کلیدواژه استاتیک برای مشخص کردن کلاس به عنوان استاتیک استفاده می کنیم؛ و سپس از آن دوباره برای مشخص کردن متد و نیز CalculateArea به عنوان استاتیک به کار می رود. اگر ما این کار را انجام ندهیم؛ کامپایلر؛ خطا می دهد؛ زیرا ما نمی توانیم یک عضو غیر استاتیک از یک کلاس استاتیک داشته باشیم.

برای استفاده از این متد؛ آن را مانند زیر؛ به صورت مستقیم در کلاس فراخوانی می کنیم:

Console.WriteLine(“The area is: ” + Rectangle.CalculateArea(5, 4));

ما می توانیم متدهای مفید دیگری به کلاس مستطیل استفاده کنیم؛ اما شاید تعجب کنید که چرا ما طول و عرض مستطیل را به متد حقیقی منتقل می کنیم؛ به جای آنکه آنها را درون کلاس ذخیره کنیم؟ زیرا آن استاتیک است. ما می توانیم آنها را ذخیره کنیم؛ اما فقط یک مجموعه از ابعاد را می توانیم ذخیره کنیم؛ زیرا فقط یک نسخه از کلاس استاتیک وجود دارد. درک این موضوع بسیار مهم است.

در عوض ما می توانیم کلاس غیر استاتیک را ایجاد کنیم و سپس در این کلاس ، CalculateArea را به عنوان یک تابع استفاده کنیم:

public class Rectangle

{

private int width, height;

public Rectangle(int width, int height)

{

this.width = width;

this.height = height;

}

public void OutputArea()

{

Console.WriteLine(“Area output: ” + Rectangle.CalculateArea(this.width, this.height));

}

public static int CalculateArea(int width, int height)

{

return width * height;

}

}

همان طور که مشاهده می کنید؛ ما کلاس غیر استاتیک را ساخته ایم. ما همچنین یک سازنده را نیز اضافه کرده ایم که طول و عرض را اتخاذ می کند و آن را به مثال تخصیص می دهد. سپس ما یک متد OutputArea را اضافه کرده ایم که از روش استاتیک برای محاسبه مساحت استفاده می کند. این یک مثال بسیار خوب از ترکیب اعضای استاتیک با اعضای غیر استاتیک در یک کلاس غیر استاتیک می باشد.

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

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست