تابع لفافپیچی (به انگلیسی: wrapper function) نوعی زیرروال (یا تابع) است که در یک کتابخانه نرمافزاری یا یک برنامه رایانهای قرار دارد، و هدف اصلی آن «تماسگرفتن به یک زیرروال ثانویه»[۱] یا یک «تماسگیری با سامانه» است، این تابع، محاسبات اضافی ندارد یا مقدار آن کم است. از توابع لفافپیچی برای سادهسازی نوشتن برنامههای رایانهای استفاده میشود، این کار از طریق انتزاعیسازی جزئیات پیادهسازی زیربنایی یک زیرروال انجام میشود.
هدف
توابع لفافپیچی، روشی برای واگذاری هستند و برای چند هدف میتوان از آن استفاده کرد:
راحتتر کردن نوشتن برنامههای رایانهای
از توابع لفافپیچی برای سادهسازی نوشتن برنامههای رایانهای میتوان استفاده کرد. یک مثال از آن MouseAdapter
است مثال دیگر کلاسهای مشابه در کتابخانه Java AWT است.[۲]
سازگارسازی واسطهای کلاس/شیء
توابع لفافپیجی را میتوان برای سازگارسازی یک کلاس یا شیء موجود برای داشتن واسط جداگانه، استفاده کرد. این موضوع مخصوصاً موقعی مفید است که از کد کتابخانه موجود استفاده میشود.
آزمون کد
از توابع لفافپیچی میتوان برای نوشتن روالهای بررسی خطا برای توابع سامانه ای از پیش موجود استفاده کرد، در اینجا اهمیت این نوع توابع، افزایش نیافتن طول کد به مقدار بسیار زیاد است، یعنی بررسی خطای مشابه، برای هر تماس به تابع، تکرار میشود.[۳]
وراثت چندگانه
در زبانهای برنامهنویسی که از وراثت چندگانه کلاسهای مبنا پشتیبانی نمیکنند، از توابع لفافپیچی برای شبیهسازی آن میتوان استفاده کرد. در زیر یک مثال از بخشی از یک کلاس جاوا آمدهاست که هم از LinkedList و هم از HashSet ارثبری میکند. شگرد را برای جزئیات پیادهسازی بیشتر ببینید.
public class Test implements LinkedList, HashSet{
@Override
//contains data members and data methods
//covariant return
}
پانویس
عنوانها