تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : طلب علم بر هر انسانی واجب است ،همانا خداوند علم آموزان را دوست دارد.

آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و پانزدهم


به نام پروردگار جهان

آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و پانزدهم

سلام به همه کاربران وبسایت لندلرن

قسمت صد و پانزدهم


چگونه كار مي كند؟

ابتدا يك فيلد براي نگهداري تعداد در ها به صورت private تعريف مي كنيم .

همچنين مقدار پيش فرض اين فيلد را نيز ۴ در نظر مي گيريم .

دليل اينكه در اين مرحله به اين فيلد عدد داده ايم نيز مشخص است .

همانطور كه گفتم مـي خـواهيم تعـداد درهـاي يـك اتومبيـل همواره بين ۲ تا ۶ باشد .

همچنين مي دانيم كه يك متغيير از نوع عدد صحيح به صورت پيش فرض داراي مقدار ۰ است. بنابراين اگر در اين قسمت به اين فيلد مقدار ندهيم، هنگامي كه شيئ ايجاد مي شود، تعداد در ها به صورت پيش فرض برابر با صفر خواهد بود .

بعد از تعريف فيلد نوبت به خود خاصيت مي رسد .

بخش get كه همانند قسمت قبل است و نكته جديدي ندارد – فقط كافي است مقدار فيلد numberOfDoors _را برگرداند . اما در بلاك set ابتدا بايد بررسي كنيم عددي كه كـاربر بـه ايـن خاصـيت فرستاده است معتبر با شد، سپس آن را در numberOfDoors _قرار دهيم (مقداري كه به وسيله كاربر به خاصيت فرسـتاده مي شود با كلمه كليدي value قابل دسترسي است )

بقيــه كــدي هــم كــه بــه فايــل Program.cs اضــافه كــرده ايــد، مــورد پيچيــده اي نيــست .

ابتــدا مقــدار اوليــه فيلــد numberOfDoors _را نمايش مي دهيد، سپس سعي مي كنيد اين مقدار را به ۱۰۰۰ تغيير دهيد.

در اين هنگام كـدي كـه براي تعيين صحت داده ها در خاصيت NumberOfDoors وارد شده است، اجازه نمي دهد كه مقدار خاصيت به ۱۰۰۰ تغيير
كند.

بنابراين مقدار فيلد numberOfDoors _همچنان برابر با ۴ باقي مي ماند .

در انتها نيز مقدار خاصيت را برابـر بـا يـك مقدار منطقي مانند ۲ قرار مي دهيم و مشاهده مي كنيم كه تعداد درها تغيير مي كند.

نكته: اگرچه ممكن است روش كاركرد خاصيتهاي خواندني -نوشتني و همچنين فيلد هاي public مانند هم به نظر رسد، اما با هم تفاوت زيادي دارند.

زماني كه سی شارپ بخواهد كد برنامه شما را كامپايل كند، با قسمتهايي كه كاربر از خاصيت استفاده كرده است، همانند فراخواني متد رفتار مي كند .

توجه داشته باشيد كه استفاده از خاصيت ها به جاي فيلـد هـاي public باعـث مي شود كه كد برنامه شما انعطاف پذير تر شده و قابليت گسترش بيشتري داشته باشد .

متد IsMoving:

هنگامي كه در حال طراحي يك كلاس هستيد، بايد همواره اين سوال را در نظر داشته باشيد كه “چگونه مـي تـوان م اسـتفاده از ايـن
كلاس را ساده تر كنم؟ “.

براي مثال اگر كاربر بخواهد تشخيص دهد آيا اين اتومبيل در حال حركت است يا نه، چگونه مي تواند اين كار را انجام دهد؟

يك راه براي انجام اين كار، بررسي خاصيت Speed است .

اگر مقدار برگشتي توسط اين خاصيت برابر با صـفر باشـد، مـي تـوان فهميد كه اتومبيل توقف كرده است .

اگر بررسي اين مورد را به كاربر واگذار كنيم، كاربر نيز بر اساس برداشـت خـود از نحـوه كـاركرد كلاس براي نتيجه گيري استفاده مي كند و ممكن است او از اين روش براي بررسي توقف اتومبيل استفاده نكند .

البته در ايـن مـورد واضح است كه همواره سرعت صفر برابر با توقف اتومبيل است، اما در مواردي مشابه حتي اگر ۹۹ %افرادي كه از كلاس استفاده مـي كنند در يك مورد اشتراك نظر داشته باشند، بايد براي وضوح بيشتر كار با كلاس متدي طراحي كرد كه به آن مورد پاسخ دهد .

بنابراين در مثال بالا، بهتر است متدي طراحي كنيم كه مشخص كند آيا اتومبيل توقف كرده و يا در حال حركت است .

امتحان كنيد: اضافه كردن متد IsMoving

تمام كاري كه متد IsMoving باید انجام دهد اين است كـه پـس از بررسـي سـرعت اتومبيـل، مقـدار ي را از نـوع
Boolean برگرداند تا مشخص شود اتومبيل توقف كرده و يا در حال حركت است.

كد زير را در كـلاس Car ،بعـد از خاصيت NumberOfDoors وارد كنید.

براي تست اين متد، تغييرات مشخص شده در زير را در زير برنامه Main فايل Program.cs ايجاد كنيد :

حال برنامه را اجرا كنيد. پنجره جديدي میبینید.

پایان بخش ۱۱۵

به بخش صد و شانزدهم مراجعه کنید.

 

 


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ