توابع
Csharp Function
زمانی که کدها زیاد میشوند نظم و خوانایی برنامه کاهش می یابد برای حل این مشکل آن مجموعه از کدها که یکسری روال مشخص را انجام می دهند را درون یک تابع قرار می دهیم و از بدنه اصلی برنامه آن تابع را صدا می زنیم.
تعریف یک تابع به صورت زیر انجام می شود.
1 2 3 | public static int methodName(int a, int b) { // body } |
- public static : نوع دسترسی تابع
- int : نوع خروجی (مقدار برگشتی) تابع – در صورتی که بخواهیم تابع چیزی را برنگرداند از کلمه void استفاده میکنیم.
- methodname : نام دلخواه تابع
- int a,int b : پارامترهای تابع
در مثال زیر یک تابع تعریف می کنیم که دو عدد می گیرد و کوچکترین آنها را برمی گرداند.
ﺗﻮاﺑﻊ : voidﺗﻮاﺑﻌﻲ ﻛﻪ ﺑﺎ ﻧﻮع void ﻣﻌﺮﻓﻲ ﻣﻲ ﺷﻮﻧﺪ ھﯿﭻ ﺧﺮوﺟﻲ ﻧﺪارﻧﺪ و در زﺑﺎن وﻳﮋوال ﺑﯿﺴﯿﻚ ﺑـﻪ آْﻧﮫـﺎ subو در دﻟﻔـﻲ ﺑـﻪ آﻧﮫﺎ procedure ﻣﻲ ﮔﻮﻳﻨﺪ.
1 2 3 4 5 6 7 8 9 | public static int minFunction(int n1, int n2) { int min; if (n1 > n2) min = n2; else min = n1; return min; } |
صدا زدن تابع :
هنگامی که در برنامه بخواهیم از تابع استفاده کنیم ابتدا نام تابع و در صورت داشتن پارامترها ، آنها را در پرانتز گذاشته و به تابع ارسال می کنیم . در صورتی که تابع مقدار برگشتی نیز داشته باشد آن را به متغیر یا دستور دلخواه نسبت می دهیم.
در مثال زیر نحوه صدا زدن تابع را خواهید دید :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Example_MinNumber { public static void main(String[] args) { int a = 11; int b = 6; int c = minFunction(a, b); } /** تابع **/ public static int minFunction(int n1, int n2) { int min; if (n1 > n2) min = n2; else min = n1; return min; } } |
خروجی:
1 | Minimum value = 6 |
ارسال پارامترها به تابع :
مثال زیر : نحوه ارسال دو متغیر عددی به تابع مورد نظر (ارسال پارامتر به تابع) و جا به جایی ارزش آنها در تابع:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class swappingExample { public static void main(String[] args) { int a = 30; int b = 45; // صدا زدن تابع swapFunction(a, b); // مقدارهای اصلی aوb بعد از پایان تابع تغییری نمی کند. } public static void swapFunction(int a, int b) { // جا به جایی مقدار a و b int c = a; a = b; b = c; } } |
خروجی:
1 2 3 4 5 | Before swapping, a = 30 and b = 45 Before swapping(Inside), a = 30 b = 45 After swapping(Inside), a = 45 b = 30 After swapping, a = 30 and b is 45 |