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

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

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

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

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

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

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


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

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

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

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


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

هنگامي كه شيئ جديدي از كلاس Car بخواهد ايجاد شود، كدي كه درون تابع سازنده نوشته ايد اجرا مي شود .

به اين صورت مي توانيد خاصيت هاي كلاس را برابر با مقادير مورد نظرتان قرار دهيد.

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

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

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

براي تست شيئ، از يك متد جدا به نام DisplayCarDetails در فايل Program.cs استفاده مي كنـيم .

بـه اين ترتيب اگر بخواهيم مشخصات چندين شيئ از نوع Car را نمايش دهيم و يا مشخصات يـك شـيئ را چنـدين مرتبـه نمـايش
دهيم، به كد كمتري نياز خواهيم داشت .

نكته: دقت كنيد كه متد DisplayCarDetails براي اينكه بتواند در متد Main فراخواني شـود حتمـاً بايـد از نـوع static تعريف شود.

وراثت

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

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

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

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

به وسيله وراثت مي توانيد

  • از يكي از كلاسهاي موجود استفاده كرده، خاصيت ها و متدهاي جديدي به آن اضافه كنيد
  • يـا بعـضي از متدها و خاصيت هاي آن را با متدها و خاصيت هاي مورد نظر خودتان عوض كنيد و به اين ترتيب كلاس جديدي ايجـاد كنيـد كـه دقيقاً نيازهاي تان را برطرف كند .

براي مثال، با استفاده از كلاس Car كه يك كلاس كلي است، مي توانيد كلاسهاي خاصي تري مانند :

  • كلاسي براي اتومبيل هاي مسابقه اي،
  • كلاسي براي وسايل نقليه سنگين،
  • كلاسي براي اتومبيل هاي سواري
  • و …

ايجاد كنيد .
فرض كنيد مي خواهيد اتومبيل هاي مسابقه اي را در كامپيوتر به وسيله كلاسـي بـه نـام SportsCar مـدل كنيـد .

كـلاس SportsCar مشابه كلاس Car خواهد بود اما در بعضي از قسمتها تفاوتهاي جزئي دارد .

براي مثال تعداد درهـا در اتومبيـل هاي مسابقه اي ممكن است بين ۶تا ۲ نباشد و يا در اين كلاس، علاوه بر متد ها و خاصيت هاي موجود در كلاس Car به متدها
و خاصيت هايي نياز داريد كه اطلاعاتي را در مورد كارايي و عملكـرد اتومبيـل بـه كـاربر بدهـد، ماننـد متـدهاي Weight و يـا PowerToWeightRatio.

 

كلاس پايه و مشتق

به كلاسي كه از كلاس ديگري به ارث گرفته شود (همانند كلاس SportsCar در مثال بالا ، ) كلاس مشتق شده
۲ و به كلاسي كه كلاسهاي ديگر از آن مشتق مي شوند (مانند كلاس Car در مثال بالا) كلاس پايه مي گويند.

يكي از مواردي كه در مورد وراثت بايد بدانيد، نحوه دسترسي كـلاس مـشتق شـده بـه عـضو هـاي public و private كلاس پايه است .

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

بنابراين اگر كلاس SportsCar بخواهد سرعت يك شيئ را تغيير دهد بايد از خاصيت ها و متدهاي موجود در كلاس Car استفاده كند و نمي تواند به صورت مستقيم به فيلد speed _دسترسي
داشته باشد.

آموزش ” اضافه كردن متدها و خاصيت هاي جديد ” را در قسمت بعدی ببینید.


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

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

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

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

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

soroush کانال سروش

کانال آی گپ