آموزش سی شارپ قسمت چهاردهم (رابط ها)

آموزش سی شارپ قسمت پانزدهم (فضاهای نام)

آموزش سی شارپ قسمت چهاردهم (رابط ها)

آموزش سی شارپ قسمت چهاردهم (رابط ها) 1282 720 ertj

آموزش سی شارپ قسمت چهاردهم (رابط ها)

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

و این واقعیت در آنها صدق می کند که هیچ نمونه ای از آنها ایجاد نمی شود. با این وجود، رابط ها

حتی از کلاسهای انتزاعی نیز مفهومی تر هستند، زیرا بدنه ی متدها را به هیچ وجه نمی توان

به کار برد. بنابراین یک رابط به نوعی مانند کلاس انتزاعی است که چیزی جز متدهای انتزاعی ندارد،

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

به کار گرفتن ویژگی ها، و همچنین ایندکسر ها و رویدادها مجاز است. می توانید یک رابط

را به عنوان یک قرارداد در نظر بگیرید – کلاسی که آن را پیاده سازی کند، باید پیاده سازی

کلیه متدها و ویژگی ها انجام شود. با این حال ، مهمترین تفاوت این است که در حالی

که سی شارپ اجازه نمی دهد توارث چندگانه انجام شود، یعنی کلاس ها نمی توانند

بیش از یک کلاس پایه را به ارث ببرند، اما در واقع امکان اجرای چندین رابط را می دهد!

بنابراین ، چگونه همه توجه ها به کدنویسی است؟

ساخت پست خودکار اینستاگرام

طراحی سایت شما با بهترین طراحی برای اطلاعات بیشتر کلیک کنید.

بیایید از وسط شروع کنیم، که در آن بخش، رابط را اعلام می کنیم. همانطور که مشاهده می کنید ،

تنها تفاوت از اعلام یک کلاس ، کلمه کلیدی استفاده شده می باشد – رابط (Interface) به جای کلاس

(Class) . همچنین، پشت نام پارامتر Interface؛ یک I به عنوان پیشوند؛ قرار داده شده است –

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

که می خواهید فراخوانی کنید، اما از آنجا که آنها شبیه کلاس ها استفاده می شوند؛ شما به سختی

می توانید تفاوت بین برخی از قسمت های کدنویسی خودتان را بیان کنید؛ به این ترتیب پیشوند I

می تواند کمک زیادی به شما داشته باشد.

سپس متد Describe و پس از آن ، ویژگی Name را اعلام می کنیم که هم دارای کلمه کلیدی get می باشد

و هم کلید واژه set را داراست، و این یک ویژگی قابل خواندن و قابل نوشتن است. شما همچنین متوجه

عدم وجود مدیفایرهای دسترسی (عمومی (public)، خصوصی (private) ، محافظت شده (protected) و غیره)

خواهید شد ، و این به آن دلیل است که آنها را نمی توان به یک رابط اعمال کرد – همه بصورت پیش فرض

در دسته ی دسترسی عمومی هستند.

**سی شارپ**

آموزش سی شارپ قسمت چهاردهم (رابط ها)

سپس، کلاس Dog آمده است. توجه کنید که توارث از یک کلاس دیگر چگونه نمایش داده می شود؛

یک دو نقطه بین نام کلاس و کلاس/ رابط؛ قرار داده شده است. با این حال، در این حالت، دو رابط برای

یک کلاس مشابه پیاده سازی می شود، که به سادگی با یک کاما از هم جدا شده اند. شما می توانید

به هر تعدادی که می خواهید؛ رابط ها را پیاده سازی کنید، اما در این حالت ما فقط دو رابط خود را اجرا کرده ایم

که IAnimal و رابط .NET IComparable که یک رابط مشترک برای کلاس هایی است که می توانند مرتب شوند.

حال همانطور که مشاهده می کنید، ما از رابط IAnimal ، هم متد و هم ویژگی را پیاده سازی کرده ایم و

همچنین یک متد CompareTo را نیز از رابط IComparable پیاده سازی نموده ایم.

حال ممکن است به این موضوع فکر کنید که اگر ما مجبوریم تمام کارها را خودمان انجام دهیم،

با اجرای کل متد ها و ویژگی ها، چرا باید به خودمان زحمت بدهیم؟شما می توانید برای پاسخ

به این سوال دوباره به مثال بالا نگاهی بیندازید؛ زیرا به خوبی درک می کنید که چرا یادگیری رابط ها

و استفاده از آنها ارزش وقت گذاشتن دارد. در اینجا ، ما یک دسته از اشیاء Dog را به یک لیست

اضافه می کنیم،

آموزش سی شارپ قسمت چهاردهم (رابط ها)

و سپس لیست را مرتب می نماییم. چگونه این لیست می داند که باید چطور سگها مرتب شوند؟

پاسخ این است که کلاسDog- ما دارای یک متد CompareTo است که می تواند نحوه مقایسه دو

سگ را بیان کند. چگونه این لیست می داند که شیء Dog ما می تواند همین کار را انجام دهد و

برای مقایسه سگ ها چه متدی را باید فراخوانی کند؟ ما این اطلاعات را در واقع با پیاده سازی

یک رابط در اختیارشان قرار دادیم که به کار گیری متد CompareTo را نوید می دهد. این در واقع

زیبایی رابط ها را نشان می دهد.

ساخت پست خودکار اینستاگرام

طراحی سایت شما با بهترین طراحی برای اطلاعات بیشتر کلیک کنید.

0/5 (0 Reviews)

– Hi there I’m –

Jhon Martin

Freelancer Designer

Motion Graphics

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

Application Design

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

Dedicated Support

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

– Checkout –

My Work

Lorem ipsum vulputate eu sit mi. Pharetra vitae eu ornare eu viverra nibh. Sed vehicula. A bibendum mi hendrerit Aliquam hendrerit aliquet pharetra purus, sit elit. Morbi luctus tempus volutpat.

Built Mockups

Mel alia vituperata contentiones cu, ei indoctum definiebas nec, no est nostro accumsan oporteat. Has mnesarchum intellegam ei, te populo option vel, adhuc expetenda nam id.

Introduce UI Kit

Vero graeco pertinacia ad per. Usu ferri nonumy option ei, et vix iisque quaeque rationibus. Est cu malorum dolorum. Ea clita nostrud qui, ei mel quando phaedrum. Ea vis viris malorum laboramus, no quot eligendi qui. Ea tamquam vulputate ius, pri solet graece scaevola ad.

Masterfully Handcrafted for Awesomeness

WE DO MOVE

YOUR WORLD

Greatives – Design, Marketing, Sales

ساعت کاری فروشگاه:  : 09:00 – 22:00
آدرس : کرج کیانمهر شهرک ابریشم مجتمع تجاری پانی سان پلاک 5
تلفن: 09129051862-02691032191