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

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

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

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

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

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

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


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

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

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

ادامه قسمت صد و صد و سی و پنجم

قسمت صد و صد و سی و ششم



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

به وسيله اين كادر مي توانيد از ويژوال استوديو بخواهيد كه تعريف تمام متد ها و خاصيت هاي اين اينتـرفيس  را به برنامه ي شما اضافه كند .

به اين ترتيب فقط كافي است كه پياده سازي مورد نظرتان را در متد هـا و خاصـيت هـاي مربـوط قـرار دهيـد.

  • بـراي ايـن كـار در كـادري نمـايش داده شـده اسـت، روي گزينـه ي’Implement interface ‘IStorable كليك كنيد
  • مشاهده مي كنيد كه با انتخاب اين گزينه، تمام متد ها و خاصيت هاي موجود در اينترفيس IStorable به كلاس اضافه مي شوند.
  • در تمام اين متد ها و خاصيت ها كدي مشابه زير قرار دارد:
  • كد موجود در متد RetrieveData را به صورت زير تغيير دهيد:
  • كد درون بخشهاي get و set خاصيت SavePath را نيز به صورت زير تغيير دهيد:
  • تا اينجا كلاس هاي مورد نياز در برنامه را ايجاد كرده ايم،
  • حال بايد كدي براي تست كردن برنامه بنويسيم .
  • بـا اسـتفاده ازپنجره ي Solution Explorer فايل Program.cs را باز كـرده و كـد زيـر را بـه متـد Main اضافه كنيد .
  • هنگام اضافه كردن كد با پيغام خطايي مواجه مي شويد كه متد Save تعريف نشده است.
  • مي توانيد از ايـن پيغام صرفنظر كنيد، زيرا اين متد را در مرحله بعد ايجاد خواهيم كرد.
  • براي نوشتن متد Save به استفاده از كلاس File در فضاي نام System.io نياز داريم، پس بـا اسـتفاده از راهنماي زير اين فضاي نام را به برنامه اضافه كنيد :
  • متد زير را به برنامه اضافه كنيد تا قسمت تست برنامه نيز تكميل شود:
  • حال برنامه را اجرا كنيد .
  • پنجره اي مشاهده خواهيد كرد كه اطلاعات اشياي سـاخته شـده را نمـايش مي دهد.
  • كليدي را در برنامه فشار دهيد .
  • به اين ترتيب اطلاعات كلاسها در فايلهاي مشخص شده ذخيـره مـي شـوند .
  • برنامـه نيـز ذخيره شدن اين اطلاعات را همانند شكل اعلام مي كند.

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

همانطور كه گفتم، interface يك قرار داد است.

در اين برنامه ابتدا يك اينترفيس ايجاد مي كنيم، به بيان ديگـر قـراردادي ايجاد مي كنيم تا هر كلاسي كه بخواهد اطلاعاتش را در ديسك ذخيره كند بايد از آن قرار داد پيروي كند .
در اين قـرارداد نيـز ذكـر مي كنيم هر كلاسي كه بخواهد اطلاعاتش را در ديسك ذخيره كند بايد تابعي به نام RetrieveData داشته باشد كه ايـن
تابع اطلاعات مهم كلاس را از نوع رشته برگرداند .
همچنين كلاس مذكور بايـد داراي خاصـيتي از نـوع خوانـدني -نوشـتني بـه نـام SavePath باشد كه مسير ذخيره اطلاعات را برگرداند .

در طراحي يك اينترفيس دقت كنيد كه همانند كلاسهاي Abstract ،نبايد هيچ گونـه پيـاده سـازي اي بـراي متـد هـا و يـا خاصيت ها تعيين كنيد .

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

همچنين نبايد هـيچ سطح دسترسي از قبيل public و يا private براي يك اينترفيس مشخص كنيد، بلكه سطح دسترسـي تمـام متـد هـا و خاصيتهاي آن برابر با سطح دسترسي خود interface مي باشد .

براي مثـال در اينترفيـسي كـه در برنامـه ي قبلـي ايجـاد كرديم مشاهده مي كنيد كه هيچ سطح دسترسي اي براي متد ها و خاصيت ها تعيين نشده است، اما سطح دسترسي اينترفيس برابـر با public مشخص شده است.

بنابراين سطح دسترسي كليه اعضا برابر با public خواهد بود .

حال هر كلاسي كه از اينترفيس IStorable استفاده كنـد بـر طبـق ايـن قـرارداد موظـف خواهـد بـود كـه متـدي بـه نـام RetrieveData از نوع public داشته باشد كه هيچ پارامتري دريافـت نكنـد و همچنـين يـك string را بـه عنوان نتيجه برگرداند .

همچنين اين كلاس بايد يك خاصيت خواندني -نوشتني به نام SavePath از نـوع public داشـته باشد كه يك رشته را برگرداند .

تعريف كلاس Financial كاملاً واضح است .

همانطور كه گفتم براي اينكه در اين برنامه فقط بتوانيم بر نحوه كار اينترفيس ها تمركز كنيم، كلاسها را تا حد ممكن ساده تعريف مي كنيم .

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

همچنين به فيلد ديگري نيز در اين كلاس نياز داريم تا مكان ذخيره شدن اطلاعات كلاس در ديسك را در آن نگهداري كنيم .

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


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

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

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

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

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

soroush کانال سروش

کانال آی گپ