PDA

View Full Version : ایا می توان در تعریف تابع یا رویه ، آرگومانی را اختیاری تعریف کرد



Developer Programmer
دوشنبه 17 مرداد 1384, 22:18 عصر
ایا می توان در تعریف تابع یا رویه ، آرگومانی را اختیاری تعریف کرد ؟ (مانند Optional در بیسیک) که با ارسال نکردن آن آرگومان مشکلی پیش نیاد ؟

merced
سه شنبه 18 مرداد 1384, 00:57 صبح
این فقط یکی از خواص شی گرایی است (چند شکلی)

vcldeveloper
سه شنبه 18 مرداد 1384, 02:40 صبح
ایا می توان در تعریف تابع یا رویه ، آرگومانی را اختیاری تعریف کرد ؟
بله...برای مثال:


procedure Foo(A : integer; B : boolean = True);

در مثال بالا پارامتر B دارای یک مقدار default اس که اگه در هنگام فراخوانی procedure بالا، مقداری برای B در نظر گرفته نشه، مقدار default بصورت اتوماتیک برای تابع ارسال میشه. تابع فوق رو میشه به دو صورت فراخوانی کرد:


Foo(20,True);
Foo(20);

یکی از محدودیت هایDefault Parameter ها اینه که باید در آخر لیست پارامترها قرار بگیرند و Type این پارامترها هم محدوده. برای اطلاعات بیشتر رجوع کنید به:


Delphi Help -> Delphi Language Guide -> Procedures and functions -> Paramters -> Default Parameters


این فقط یکی از خواص شی گرایی است (چند شکل&#1740
این مسئله ربطی به شی گرائی نداره و یکی از ویژگی های زبان (در اینجا پاسکال) محسوب میشه.

Developer Programmer
سه شنبه 18 مرداد 1384, 11:09 صبح
ممنون علی جان