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

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

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

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

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

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

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


به نام خدایی که در این نزدیکی است.

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

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

قسمت صد و چهارم


ادامه قسمت صد و سوم

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

برنامه نويسي شيئ گرا نيز به اين دليل در مهندسي نرم افزار كـاربرد بـسياري دارد كه مي توان به وسيله آن يك مسئله پيچيده را به بهترين نحو به چندين قسمت كوچكتر تقسيم كرد و سپس با قرار دادن آنهـا كنـار هم، به راه حل مسئله اصلي رسيد .

ممكن است بگوييد كه اين كار با استفاده از متد ها نيز امكان پذير است،

پس چه نيازي است كـه از شيئ ها استفاده كنيم؟ در توضيحات قبلي مشاهده كرديد روابطي كـه بـراي Customer و Bill شـرح داده شـد بـسيار مشابه دنياي واقعي است .

در حقيقت در برنامه نويسي شيئ گرا سعي مي شود تمام موارد شبيه به آنچه در واقعيـت وجـود دارد ايجـاد شود و تمام روابط بين اشيا نيز بر اين اساس صورت گيرد.

مورد ديگري كه باعث قدرت فراوان برنامه نويسي شيئ گرا مي شود در اين است كه، شما به عنوان يكي از افرادي كه از يـك شـيئ استفاده مي كنيد نيازي به دانستن اينكه چگونه آن شيئ درخواستهاي شما را ان جام مي دهد نداريد.

ايـن مـورد در دنيـاي واقعـي نيـز صادق است .

هنگامي كه در حال استفاده از يك موبايل هستيد، نيازي نيست كه بدانيد اين دستگاه به صورت دروني چگونه كـار مـي كند؟

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

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

اين مورد در كامپيوترها هم صادق است .

هنگامي كه بخواهيد با يك شيئ كار كنيد، حتـي اگـر آن شيئ را خودتان ايجاد كرده باشيد،

بهتر است از رابط ساده و راحتي كه آن شيئ فـراهم مـي كنـد اسـتفاده كنيـد و اجـازه دهيـد كـه
پيچيدگي هاي مربوط به وظيفه ي آن شيئ در پشت رابط ساده ي آن پنهان بماند .

براي توضيح بيشتر در مورد اشيا، بهتر است يك شيئ مانند تلويزيو ن را در دنياي واقعي بررسي كنيم.

يك دستگاه تلويزيون را در نظر بگيريد.

يك سري از كارها هستند كه مي دانيد چگونه مي توان با يك تلويزيون آنها را انجام داد. مانند :

  • تماشاي تصوير روي صفحه نمايش.
  • تغيير دادن كانال تلويزيون.
  • غيير صداي تلويزيون.
  • خاموش و يا روشن كردن آن.

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

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

قادر به انجام چنين كاري نخواهيد بود .!

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

با وجود اين، هم شما و هم اغلب مردم مي دانند كه

  • چگونه بايد از يك دستگاه تلويزيون استفاده كنند،
  • چگونه كانال آن را تغيير دهند،
  • چگونه صداي آن را تنظـيم كننـد،
  • چگونـه آن را خاموش و يا روشن كنند و غيره…

اشيا در مهندسي نرم افزار نيز اساساً به همين روش كار مي كنند .

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

براي اين موارد لازم نيست بدانيد كه شيئ به صورت دروني چگونه كار مي كند و يا لازم نيست حتي كوچكترين اطلاعاتي در مورد نحوه عملكرد آن داشته باشيد .

اشياي نرم افزاري عموماً داراي مشخصات زير هستند :

  • هوت: يك شيئ همواره نوع خود را مي داند . براي مثال يك تلويزيون همواره ميداند كـه يـك شـيئ از نـوع تلويزيـون است.
  • حالت: هر شيئ در هر زماني وضعيت و حالت خود را ميداند . براي مثال اگر در حال مـشاهده كانـال ۴ از يـك تلويزيـون باشيد و بخواهيد كه تلويزيون شماره كانالي را كه مشاهده مي كنيد روي صفحه نمايش دهد، عدد ۴ را نمايش خواهد داد.
  • رفتار: به عكس العمل يك شيئ در مقابل درخواستهاي كاربر، رفتـار آن شـيئ مـي گوينـد . بـراي مثـال فـرض كنيـد از تلويزيون بخواهيد تا صداي آن زياد شود. اين افزايش صداي تلويزيون جزئي از رفتار آن محسوب مي شود.

ادامه توضیحات را در قسمت صد و پنجم دنبال کنید.


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

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

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

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

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

soroush کانال سروش

کانال آی گپ