خوش برگشتید.
در این ویدیو به بررسی فیلدها می‌پردازیم.
فیلدها متغیرهایی هستند که خارج از متدها و داخل یک کلاس ایجاد می‌شوند.
پس می‌توانید متغیرها را در انواع مختلفی از مکان‌ها ایجاد کنید.
درست است.
می‌توانید آن‌ها را داخل متدها ایجاد کنید.
می‌توانید آن‌ها را حتی خارج از کلاس‌ها ایجاد کنید، هرچند کمی پیچیده‌تر است.
و می‌توانید آن‌ها را داخل کلاس‌ها اما خارج از متدها ایجاد کنید.
اجازه دهید با این مثال نشان دهم.
Myresult برای مثال ما این متغیر را داریم، درست است؟
و هر بار از result استفاده می‌کنیم.
پس کاری که انجام می‌دهیم این است که در هر متد یک متغیر جدید ایجاد می‌کنیم.
به جای آن می‌توانیم یک فیلد ایجاد کنیم.
یک متغیر که به آن فیلد هم گفته می‌شود.
مثلاً my result.
و نیازی نیست که بلافاصله مقداری به آن اختصاص دهیم.
می‌توانیم بعداً مقدار بدهیم.
برای مثال در اینجا دیگر نیازی به my result از اینجا ندارم چون این my result
main در داخل متد در دسترس خواهد بود.
پس حالا این my result اینجا همان my result بالاست.
و به آن مقداری اختصاص می‌دهیم.
و سپس می‌توانیم در کل برنامه از آن استفاده کنیم.
پس نکته این متغیر این است که در همه متدهای دیگر قابل استفاده است.
main حالا می‌تواند در متد استفاده شود.
می‌تواند در متد add two values استفاده شود.
myresult به جای ایجاد متغیر استفاده کنم و مقدارresult جدید، می‌توانم فقط از
را اختصاص دهم.
return همینطور برای هم صدق می‌کند.
لازم است my result را بازگردانم، چون result دیگر وجود ندارد، اما باید یک int بازگردانم.
و همین در پایین هم صادق است.
my result می‌توانم فقط بگویم را بازنویسی کن به جای ایجاد متغیر جدید.
obviously my result و می‌توانم را بازگردانم.
my result پس حالا یک فیلد است.
می‌توان آن را متغیر سراسری هم نامید، هرچند دقیق‌ترین اصطلاح نیست.
متغیر سراسری هم تا حدودی صحیح است.
می‌توانید از این اصطلاح استفاده کنید چون متغیری است که به طور کلی در دسترس است، حداقل داخل کلاس ما.
اما اصطلاح دقیق‌تر فیلد یا متغیر نمونه است.
درست است.
پس این یک فیلد یا متغیر نمونه است.
درست است.
پس هر دو اصطلاح درست است، گاهی حتی متغیر سراسری هم گفته می‌شود.
هرچند همانطور که گفتم این اصطلاح کمی عمومی‌تر است.
متغیرهای سراسری معمولاً متغیرهایی هستند که در کل برنامه قابل استفاده‌اند.
در مورد ما، چون برنامه فقط یک کلاس دارد، می‌توان گفت این یک متغیر سراسری است.
اما وقتی چندین کلاس داشته باشیم، متغیرهای سراسری را از دیدگاه متفاوتی بررسی خواهیم کرد.
و سپس می‌توانیم ببینیم چطور می‌توان متغیرهای سراسری واقعی ایجاد کرد.
program.cs حالا در این زمینه می‌خواهم برنامه قدیمی را نشان دهم که قبل‌تر استفاده کردیم.
ما از سبک قدیمی استفاده می‌کردیم. فایل قدیمی Program.cs این int my result است که قبلاً ایجاد کردم.
برای زمینه شما، ما در فایل قدیمی هستیم، همان فایلی که قبلاً استفاده می‌کردیم.
درست است.
این فایل سبک قدیمی است و این فایل سبک جدیدی است که قبلاً استفاده کردیم.
my result وقتی این متغیر را ایجاد کردم، مثل این بود که متغیری داخل
متد main ایجاد کرده باشم.
درست است.
چون همه چیز داخل اینجا اساساً داخل متد بود main
درست است.
حالا چه می‌کنیم؟
mainما داخل کلاس هستیم که متد فقط نقطه شروع برنامه است.
main و حالا متغیرها را خارج از ایجاد می‌کنیم که آن‌ها فیلد نامیده می‌شوند.
top-level statements پس در سبک جدید، با داشتن ، نمی‌توانم فیلد ایجاد کنم.
چون اگر موس را روی my result ببرید، نوشته local variable int my result.
پس این متغیر فقط محلی است.
در دسترس است. main داخل متد
حالا اگر به این یکی نگاه کنیم، نوشته field.
پس در پرانتز فیلد است.
این متغیری است که در کل فایل برنامه در دسترس است.
داخل این کلاس برنامه قابل استفاده است.
و می‌توان آن را نه فقط در بلکه در سایر متدها هم استفاده کرد main
درست است.
فقط برای روشن شدن مجدد.
پس می‌توانم بگویم آماده‌ایم که سبک قدیمی را بیشتر استفاده کنیم.
و این برای ادامه کار ضروری خواهد بود.
وقتی به کلاس‌ها و ایجاد اشیاء مختلف نگاه کنیم، باید کاملاً بفهمیم این
چگونه کار می‌کند و زیاد از آن استفاده کنیم تا طبیعی شود.
ممکن است با گذر زمان کمی غیرطبیعی به نظر برسد، اما قدم‌به‌قدم پیش می‌رویم.
پس در ویدیو بعدی می‌بینمتان.