متد ها در سی شارپ

متد ها در سی شارپ (#C)

متد چیست؟ متد گروهی از دستورات است که با هم یک کار را انجام می دهند. هر برنامه #C حداقل یک کلاس دارد که در آن متدی با نام Main قرار دارد.

برای استفاده از متد ها دو مورد نیاز است:

  • تعریف متد
  • فراخوانی متد

تعریف متد در سی شارپ (#C) به معنای تعریف دستورات و ساختار آن متد است. تعریف متد با سینتکس زیر انجام می شود:

<access specifier> <return type> <method Name> (parameter list){
    Method body….
}

منظور از access specifier ها همان کلمات کلیدی است که سطح دسترسی متد را مشخص می کند. برای مثال: private, public و …

منظور از return type نوع خروجی یا نوع بازگشتی متد است. درصورتی که متد هیچ مقداری را برنگرداند نوع خروجی (بازگشتی) را void می گذاریم.

منظور از methodName نام متد است و به حروف کوچک و بزرگ حساس است.

منظور از parameter list لیستی از مقادیر ورودی متد است که در داخل پرانتز و در مقابل نام متد نوشته می شود. در این لیست نام و نوع هر پارامتر نوشته می شود. پارامتر ها با علامت کاما از یکدیگر جدا می شوند. وجود لیست پارامتر ها اختیاری است بدین معنا که ممکن است متدی هیچ گونه پارامتر ورودی نداشته باشد.

در ادامه مثالی از استفاده از تابع (متد) در سی شارپ را بررسی می کنیم.

محاسبه ماکزیمم (max) دو عدد توسط تابع

public int FindMax(int num1, int num2){

            int result;

            if (num1 > num2)

                        result = num1;

            else

                        result = num2;

            return result;

}

فراخوانی توابع در سی شارپ (#C)

برای فراخوانی توابع کافی است نام آن ها را صدا بزنیم.

فرض کنید میخواهیم توسط متد محاسبه ماکزیمم که پیش تر تعریف کردیم، ماکزیمم دو عدد a  و b را محاسبه کنیم. در این حالت داریم:

int a = 10;
int b = 20;
int result;
result = FindMax(a, b);

در قطعه کد بالا مقدار result برابر 20 خواهد شد.

فراخوانی توابع بازگشتی

بدین معنا که یک متد خودش را فراخوانی کند.

مثال معروف توابع بازگشتی تابع فاکتوریل است:

public int Factorial(int num){
            int result;
            if(num == 1){
                        return 1;
            }
            else {
                        result = Factorial(num-1) * num;
                        return result;
            }
}

روش کار تابع فاکتوریل  بدین صورت است که ابتدا عدد ورودی تابع را بررسی می کند. درصورتی که عدد ورودی برابر 1 باشد مقدار خروجی را 1 برمی گرداند و در غیراینصورت همان تابع فاکتوریل را برای یک عدد کوچکتر (1 واحد کوچکتر) فراخوانی می کند و نتیجه را در همان عدد اولیه ضرب می نماید و این روال ادامه می یابد تا زمانی که به عدد 1 برسد و خروجی تابع 1 شود. بنابراین مقدار فاکتوریل به صورت بازگشتی محاسبه خواهد شد.

فراخوانی تابع بازگشتی نیز مشابه سایر توابع است. برای مثال فرض کنید میخواهیم تابع فاکتوریل را برای محاسبه فاکتوریل عدد 6 فراخوانی کنیم.

int result;
result = Factorial(6);

در اینجا مقدار result برابر 720 خواهد شد.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *