نوشتن متد ها و فراخوانی آنها در جاوا
متد ها (method) را می توان همانند یک ابزار برای یک تعمییر کار می توان در نظر گرفت.مثلا با یک آچار می توان تعدادی پیچ را باز کرد.
طریقه کار به اینصورت می باشد که هر زمان که نیاز به آچار برای باز کردن پیچی داشته باشیم باید آچار را بیاوریم.
فرض کنید آچار را به صورت یک متد تعریف کنیم ، آنوقت برای اینکه بتوانیم از آچار استفاده کنیم باید آن را فراخوانی کنیم.
خوب متد ها حتما باید درون کلاس ها تعریف شوند.
متد ها در جاوا حتما باید مقداری را برگردانند (return) کنند. اما می توانیم متدی داشته باشیم که مقدار هیچ یا پوچ (void) را برگردانند.
شکل کلی تعریف متد ها در جاوا :
[access-modifier] [static] DataType MethodName {
// statement
}
access-modifier :
چهار نوع می باشد :
1- private
2- public
3- protected
4- default access
static :
بر حسب نیاز می توان از این نوع استفاده کرد (در بخش های بعدی توضیح داده می شود).
DataType :
یا نوع داده ایی. نوع داده ایی می باشد که متد بر می گرداند.
نوع داده ایی می تواند از نوع int ، long ، byte، short یا صحیح ، float ، double یا اعشاری ، char یا کاراکتری ، String یا رشته ، boolean یا بولی که دو مقدار true یا falseرا بر میگرداند.
Maximum Value | Minimum Value | Bits | Type |
127 | -128 | 8 | byte |
32767 | -32768 | 16 | short |
2,147,483,647 | -2,147,483,648 | 32 | int |
9,223,372,036,854,775,807 | -9,223,372,036,854,775,808 | 64 | long |
3.40282346638528860e+38 |
1.40129846432481707e-45 | 4 | float |
public class A {
int n1=10, n2=20; s = 0;
public void sum(){
s= n1+n2;
}
public void display(){
System.out.println("Sum of numbers : " + s);
}
public static void main(String[] args){
A obj = new A();
obj.sum();
obj.display();
}
}
sum of numbers : 30
A obj = new A();
obj.sum();
obj.display();
public static void b(){
}
public static void main(String[] args){
b();
}
public class Student {
String firstName;
String lastName;
int phoneNumber;
int stNumber;
String city;
}
حالا که از متد ها با نوع داده ایی void را آموختیم متدی با نوع داده ایی دیگر مثلا String را بررسی می کنیم.
اگر متد ما از نوع void نباشد و از نوع دیگر مانند int, double, char, String, short, boolean, یا حتی از نوع یک کلاس باشد حتما باید یک مقدار از همان نوع برگرداند.
با استفاده از دستور return می توانیم مقداری را برگردانیم. به مثال زیر توجه کنید :
public String methodA(){
return "return by methodA()";
}
متدی با نوع داده ایی int ایجاد می کنیم :
public int number(){
return 10+1;
}
متد ها میتوانند مقداری را از ورودی بگیرند و محاسباتی بر روی داده های وارد شده انجام دهد و مقداری از نوع DataType یا نوع داده ایی متد برگردانند.برای مثال برنامه جمع دو عدد را با استفاده از متدی که دو مقدار صحیح را میگیرد و جمع را انجام می دهد و مقدار مجموع را بر می گرداند.
public class Test {
public int sum(int n1, int n2){
return n1+n2;
}
public static void main(String[] args){
Test obj = new Test();
System.out.println("sum of 10 and 20 : " + obj.sum(10,20));
int num1 = 25, num2 = 10;
int s = obj.sum(num1,num2);
System.out.println("Sum of " + num1 + " and " + num2 + " : " + s);
}
}
توضیح :
متد sum با دو آرگومان از نوع صحیح به نام n1 و n2 ایجاد کردیم که وظیفه این متد برگرداندن مجموع آرگومان ها می باشد.
برای دسترسی در متد main یک شی از کلاس ایجاد کردیم
Test obj = new Test();با استفاده از آبجکت ایجاد شده متد sum را با مقدار دهی آرگومان فراخوانی کردیم
System.out.println("sum of 10 and 20 : " + obj.sum(10,20));مقدار return شده از متد sum که صحیح می باشد با رشته موجود در println الحاق می شود و در خروجی نمایش داده می شود.
متد sum دارای دو متغییر صحیح در آرگومان خود دارد و میتوان در هنگام فراخوانی با متغییری از نوع صحیح فراخوانی را انجام داد
int num1 = 25, num2 = 10;
int s = obj.sum(num1,num2);
منبع : it3du.ir
موفق باشید