پیشنویس:رابط (برنامه نویسی شی گرا)
![]() | مقالهٔ پیشنویس در حال حاضر برای بازبینی ثبت نشدهاست.
این یک پیشنویس واگذارشده مقالهها برای ایجاد است. این مقاله در حال حاضر در انتظار بازبینی نیست. مادامی که بهطور فعالانه در حال بهبود بخشیدن این مقاله باشید، ضربالاجلی برای تکمیل آن نیست. پیشنویسهایی که در حال بهبود یافتن نباشند ممکن است پس از شش ماه حدف شوند. دقت کنید: جعبهٔ دیافت درخواست در ابتدا در پایین صفحه پدیدار خواهد شد. اگر این جعبه را میبینید، درخواست شما با موفقیت ارسال شدهاست.
جایی که میتوانید کمک بگیرید
چگونگی بهبود یک پیشنویس
همچنین میتوانید با کنکاش در ویکیپدیا:مقالههای برگزیده و ویکیپدیا:مقالههای خوب نمونههایی از بهترین نوشتارها با موضوعی مشابه مقالهٔ مورد نظر خودتان را بیابید. شانس بیشتر برای یک بازبینی سریع برای این که شانس بازبینی سریع مقالهتان بیشتر شود، پیشنویس خود را با استفاده از دکمهٔ پایین با برچسبهای ویکیپروژهٔ مرتبط برچسب بزنید. این کار به بازبینیکنندگان کمک میکند تا مطلع شوند که یک پیشنویس جدید با موضوع مورد علاقهٔ آنها ثبت شدهاست. برای مثال، اگر مقالهای دربارهٔ یک فضانورد زن نوشتهاید، میتوانید برچسبهای زندگینامه، فضانوردی و دانشمندان زن را بیفزایید. منابع برای ویرایشگران
آخرین بار در ۲ روز پیش توسط MJXVI (بحث | مشارکتها) ویرایش شدهاست. (روزآمدسازی) | ![]() |
در برنامهنویسی شیگرا، رابط یا یک نوع پروتکل ، یک (نوع داده) است که به عنوان انتزاع از یک کلاس عمل میکند. که شامل مجموعهای از امضای متد ها است که پیادهسازی آنها ممکن است که توسط چندین کلاس باشد که به یکدیگر مرتبط نباشند. کلاسی که شامل لیست متدها در یک پروتکل است، درواقع میگوید که پروتکل را می پذیرد ، یا رابط را پیاده سازی می کند .
اگر اشیا ساخته شده از کلاس ها به طور کامل محافظت شده باشند، پروتکل تنها راهی است که از آن طریق امکان دسترسی توسط اشیاء دیگر فراهم میشود. به عنوان مثال، در java ، رابط Comparable متد ()compareTo را دارا است که همه ی کلاس های پیاده سازی شده باید آن را داشته باشند. به این معناست که برای مثال، یک متد sort (مرتبسازی) می تواند مجموعه ای از هر نوع شی را که رابط Comparable را پیاده سازی می کند مرتب کند، بدون انکه نیاز به دانستن چیزی در مورد ماهیت داخلی کلاس باشد. (با این تفاوت که دو مورد از این اشیاء را می توان با استفاده ازتابع ()compareTo مقایسه کرد ).
بعضی از زبان های برنامه نویسی از پروتکل ها پشتیبانی صریحی می کنند. ( Ada ، C# ، D ، Dart ، Delphi ، Go ، Java ، Logtalk ، Object Pascal ، Objective-C ، OCaml ، PHP ، Racket ، Seed7 ، Swift ، Python 3.8). در زبان هایی که از وراثت چندگانه پشتیبانی می کنند، مانند C++ ،رابط ها به عنوان کلاس های انتزاعی بکار میروند.
در زبانهایی که پشتیبانی صریحی ندارند ، پروتکلها اغلب به صورت قراردادی وجود دارند. که عنوان duck typing. شناخته می شود. برای مثال، در پایتون ، هر کلاسی میتواند متد __iter__ پیادهسازی کند و به عنوان یک مجموعه استفاده شود.
کلاسهای نوع در زبانهایی مانند Haskell یاmodule signatures در ML و OCaml برای بسیاری از مواردی که از پروتکل ها استفاده می شود، استفاده می شود.[ توضیح لازم است ]
در Rust ، رابط ها traits نامیده میشوند.
- ↑ { "Interfaces - define behavior for multiple types". learn.microsoft.com. Retrieved 16 November 2022.}
- ↑ { Miller, BJ (2015). Sams Teach Yourself Swift in 24 hours. Indianapolis, Indiana. p. 263. ISBN 978-0-672-33724-6. Any type can adopt a protocol to help give it extra functionality to accomplish a particular set of tasks.}