متد

متدها به شما اجازه می دهند که یک رفتار یا وظیفه را تعریف کنید و مجموعه ای از کدها هستند که در هر جای برنامه می توان از آنها استفاده کرد.متدها دارای آرگومانهایی هستند که وظیفه متد را مشخص می کنند. نمی توان یک متد را در داخل متد دیگر تعریف کرد. وقتی که شما در برنامه یک متد را صدا می زنید برنامه به قسمت تعریف متد رفته و کدهای آن را اجرا می کند. در ++C متدی وجود دارد که نقطه آغاز هر برنامه است و بدون آن برنامه ها نمی دانند با ید از کجا شروع شوند، این متد main() نام دارد.

گاهی اوقات دو کلمه پارامتر و آرگومان به یک منظور به کار می روند. ساده ترین ساختار یک متد به صورت زیر است :

returnType MethodName(Parameter List)
{
   code to execute;
}

به برنامه ساده زیر توجه کنید.در این برنامه از یک متد برای چاپ یک پیغام در صفحه نمایش استفاده شده است :

  1: #include <iostream>
  2: using namespace std;
  3: 
  4: void PrintMessage()        
  5: {                          
  6:     cout << "Hello World!";
  7: }                          
  8: 
  9: int main()
 10: {
 11:     PrintMessage();
 12: }

در خطوط 7-4 یک متد تعریف کرده ایم. مکان تعریف آن در داخل کلاس مهم نیست. به عنوان مثال می توانید آن را زیر متد ()main تعریف کنید. می توان این متد را در داخل متد دیگر صدا زد (فراخوانی کرد). متد دیگر ما در اینجا متد ()main است که می توانیم در داخل آن نام متدی که برای چاپ یک پیغام تعریف کرده ایم (یعنی متد ()PrintMessage) را صدا بزنیم.
در تعریف متد بالا کلمه کلیدی void آمده است که نشان دهنده آن است که متد مقدار برگشتی ندارد. در درس آینده در مورد مقدار برگشتی از یک متد و استفاده از آن برای اهداف مختلف توضیح داده خواهد شد. نام متد ما ()PrintMessage است.
به این نکته توجه کنید که در نامگذاری متد از روش پاسکال (حرف اول هر کلمه بزرگ نوشته می شود) استفاده کرده ایم. این روش نامگذاری قراردادی است و می توان از این روش استفاده نکرد، اما پیشنهاد می شود که از این روش برای تشخیص متدها استفاده کنید. بهتر است در نامگذاری متدها از کلماتی استفاده شود که کار متد را مشخص می کند مثلا نام هایی مانند GoToBed یا OpenDoor . همچنین به عنوان مثال اگر مقدار برگشتی متد یک مقدار بولی باشد می توانید اسم متد خود را به صورت یک کلمه سوالی انتخاب کنید مانند IsLeapyear یا IsTeenager…ولی از گذاشتن علامت سوال در آخر اسم متد خودداری کنید. دو پرانتزی که بعد از نام می آید نشان دهنده آن است که نام متعلق به یک متد است. در این مثال در داخل پرانتز ها هیچ چیزی نوشته نشده چون پارامتری ندارد.در درسهای آینده در مورد متدها بیشتر توضیح می دهیم.
بعد از پرانتزها دو آکولاد قرار می دهیم که بدنه متد را تشکیل می دهد و کدهایی را که می خواهیم اجرا شوند را در داخل این آکولاد ها می نویسیم. در داخل متد ()main متدی را که در خط 11 ایجاد کرده ایم را صدا می زنیم. برای صدا زدن یک متد کافیست نام آن را نوشته و بعد از نام پرانتزها را قرار دهیم.
اگر متد دارای پارامتر باشد باید شما آراگومانها را به ترتیب در داخل پرانتزها قرار دهید. در این مورد نیز در درسهای آینده توضیح بیشتری می دهیم. با صدا زدن یک متد کدهای داخل بدنه آن اجرا می شوند. برای اجرای متد ()PrintMessage برنامه از متد ()main به محل تعریف متد ()PrintMessage می رود. مثلا وقتی ما متد ()PrintMessage را در خط 11 صدا می زنیم برنامه از خط 11 به خط 4 ، یعنی جایی که متد تعریف شده می رود. اکنون ما یک متد در برنامه class داریم و همه متدهای این برنامه می توانند آن را صدا بزنند.