در فورواردینگ یا همان حواله یا اِحاله به این معناست که استفاده از عضوی ( یا فیلد ) از یک منجر به استفاده از عضوی متناظر از شئ دیگر می‌شود یا به قولی آن عضو به آن شئ دیگر، حواله یا محوَّل می‌شود. مفهوم حواله در چندیدن مورد استفاده قرار می‌گیرد، به این صورت که بعضی از اعضای شئ( ها یا فیلدها) به شئ دیگر حواله می‌شوند(مثلاً متدی را صدا می‌زنیم که بدنهٔ این متد خود متدی از شئ دیگر را صدا می‌زند) در حالی که خود شئ به اعمال اعضای دیگر(اعضای به غیر اعضای حواله شده) رسیدگی می‌کند. شئ‌ای که اعضایش فراخوانی‌ها را از طریق حواله پاسخ می‌دهد، با نام شئ پیچنده یا پیچه (wrapper)، می‌شناسند و که حواله می‌شوند را توابع پیچنده می‌گویند. 
 
مثالی ساده در باب حوالهٔ صریح در جاوا: یک شئ از کلاس B فراخوانی‌های مربوط به اسلوب را به شئ a از کلاس A حواله می‌کند: 
در مثالی که به زبان پایتون در ذیل این پاراگراف آمده است، کلاس B متد foo و فیلد x را به شئ a حواله می‌کند. (در این قسمت از کد: یا a.x = x ) در این مثال جاوا، کلاس Printer یک اسلوب به نام print دارد. این متد به جای آنکه خودش عملیات پرینت را به انجام دهد، این عملیات را به شئ ای از کلاس RealPrinter محوّل می‌کند(همانطور که در کد زیر در متد از کلاس Printer می‌بینیم، متد از شئ RealPrinter صدا زده می‌شود ). در ظاهر و (و از منظر قسمت‌های دیگر برنامه که این متد را فراخوانی می‌کنند)، به نظر می‌رسد که این عملیات را شئِ از کلاس Printer انجام می‌دهد در حالی که در اصلْ شئ از کلاس RealPrinter عملیات اصلی مربوط به پرینت را انجام می‌دهد. 
 
حواله(احاله) به زبان ساده محوّل کردن یک وظیفه به چیز/کس دیگری است. یک مثال ساده: در اینجا تابع printer از شئ p از کلاس Printer وظیفهٔ پرینت کردن را به شئ p از کلاس RealPrinter محوّل می‌کند( ) 
 نمونهٔ پیچیده‌تر برای عملیات حواله، در الگوی استفاده می‌شود. در الگوی طراحی می‌توان با استفاده از interface، حواله را بسیار منعطف‌تر و ایمن‌تر از لحاظ نوع(ایمنی نوع) کرد. 
 
«انعطاف‌پذیری» در اینجا به این معناست که نیازی نیست که C به A یا B اشاره کند چرا که شئ از کلاسی که از داخل کلاس C به آن حواله می‌شود، از طریق تجرید از این کلاس خارج شده‌است.(منظور این است که کلاس C به‌طور مستقیم به کلاس‌های A و B که پیاده‌سازی‌های رابط I هستند، چیزی را حواله نمی‌کند. بلکه به‌طور غیرمستقیم اینکار را می‌کند، همانطور که می‌بینیم به I حواله می‌شود. ) در این مثال کلاس C می‌تواند به هر کلاسی که رابط I را پیاده‌سازی کند، حواله انجام دهد. در کلاس C با نام وجود دارد که از آن می‌توان برای تغییر کلاسی که به آن حواله می‌شود(کلاسی که I را پیاده‌سازی می‌کند) استفاده کرد(این کار را در زمان اجرا نیز می‌توان انجام داد). استفاده از رابطِI موجب می‌شود تا ایمنی در نوع‌داده لحاظ شود. چرا که هر کلاس که I را پیاده‌سازی می‌کند باید تمامی آن را پیاده‌سازی کند.
{"title": "حواله (برنامه‌نویسی شیءگرا)", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%AD%D9%88%D8%A7%D9%84%D9%87_(%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C_%D8%B4%DB%8C%D8%A1%DA%AF%D8%B1%D8%A7)&oldid=26369218", "language": "fa"}