SlideShare a Scribd company logo
1 of 30
เมธอด
(Methods)
โครงสร้างของเมธอด (Method Structure)
การประกาศฟังก์ชันหรือ Method รูปแบบทั่วไปของ Method จะเป็นดังนี้
Accessibility return_data_type methodName(parameter_list){
//รายละเอียด
}
• Accessibility คือ การกาหนดชนิดการเรียกใช้และการเข้าถึง Method
ตัวอย่างของ Accessibility เช่น public,protected,private,static เป็นต้น
• return_data_type คือ ค่าที่ส่งกลับมาจาก Method ถ้าไม่มีใช้คาว่า Void
ตัวอย่างของ return_data_type เช่น int,char,string,float,int[ ],string[ ] เป็นต้น
• methodName คือ ชื่อของ method เช่น maxFunction
• parameter_list คือ ตัวแปรที่รับเข้ามาใน method
ตัวอย่างของ parameter_list เช่น int x1,float x2,char x3 เป็นต้น
โครงสร้างของเมธอด (Method Structure)
• ตัวอย่างการประกาศ Method
Int maxFunction(int x1,int x2){
int max = 0;
if(x1 > x2)
max = x1;
else
max = x2;
return(max);
}
คาอธิบาย
ชื่อ Method คือ maxFunction รับ
ข้อมูลเข้ามาเป็นจานวนเต็ม 2 ตัว คือ intx1 และ
intx2 และส่งค่ากลับเป็น int
หน้าที่ของ Method นี้ คือทาการตรวจค่า
ของ x1 และ x2 ว่าตัวใดมีค่ามากที่สุด จากนั้น
กาหนดค่าให้ตัวแปร max เพื่อส่งค่ากลับ
accessibility ของ Method
accessibility เป็นการกาหนดชนิดของการ
เรียกใช้ ใช้กาหนดขอบเขตการใช้งานของตัวแปร
,Method หรือ class
โครงสร้างของเมธอด (Method Structure)
• ชนิดของ accessibility
1. Static ใช้นิยามตัวแปรและ Method ที่ต้องการให้มีค่าคงที่ สามารถนาไปใช้ได้กับทุกๆส่วนของ class โดยค่า
นั้นไม่มีการเปลี่ยนแปลงไม่ว่ากรณีใดๆ
ตัวอย่างเช่น
การประกาศตัวแปรที่เป็นค่าคงที่
- ใช้คาว่า static นาหน้าการประกาศตัวแปร(สามารถเปลี่ยนแปลงค่าได้)
- ใช้คาว่า static final นาหน้าการประกาศตัวแปรโดยที่ไม่สามารถแก้ไขค่าได้
- ต้องการประกาศไว้ภายนอก Method เท่านั้น
static float PI_VALUE = 3.14159;
static final float PI_VALUE = 3.14159;
การประกาศ Method แบบ static สามารถเรียกใช้ใน class หรือเรียกผ่าน class โดยไม่ต้องประกาศตัวแปร
Object ก็ได้เพราะมีการจองตาแหน่งหน่วยความจาของ Method ไว้แน่นอนหรือคงที่ สามารถเรียกใช้งานได้ทันที
static double random(){// }
static double pow(double a,double b){// }
public static void main(string[] arg){// }
• ชนิดของ accessibility
2.Public ใช้นิยามตัวแปร,Method และ Class สามารถนาไปใช้กับ Class หรือ โปรแกรมอื่นๆได้
ตัวอย่างเช่น
การประกาศตัวแปรแบบ Public (ตัวแปรสาธารณะ)
ใช้คาว่า Public นาหน้าการประกาศตัวแปร
เป็นการเรียกใช้ตัวแปรตามปกติ โดยสามารถเข้าถึงได้ทุกส่วน ของโปรแกรม และเรียกใช้ผ่าน Object ของ
Classได้
public float score = 0.0 ;
การประกาศMethod แบบ Public สามารถเรียกใช้งานได้ทั้งในClass และโปรแกรมที่อยู่นอกClass โดยเรียกใช้ผ่าน
Object ของClassนั้นๆ
public void function_1(int x) {// }
การประกาศClass แบบ Public สามารถเข้าถึงหรือประกาศ Object ของClassได้จากโปรแกรมหรือClassอื่นได้
public class Test 1 {
}
โครงสร้างของเมธอด (Method Structure)
• ชนิดของ accessibility
3. Private ใช้นิยายตัวแปรและ Method เพื่อให้เรียกใช้ได้เฉพาะภายใน class ที่สร้างตัว
แปรหรือ Method นั้นๆเท่านั้น
ตัวอย่างเช่น
การประกาศตัวแปรแบบ Private( ตัวแปรเฉพาะ )
ใช้คาว่า Private นาหน้าการประกาศตัวแปร เป็นการเรียกใช้ตัวแปรโดยสามารถ
เข้าถึงได้เฉพาะส่วนที่ประกาศตัวแปรนั้น เช่น ในMethod หรือภายใน class ได้เท่านั้น
Private float score = 0.0 ;
การประกาศ Method แบบ Private สามารถเรียกใช้งานได้เฉพาะใน class ที่ประกาศ
Method นั้นเท่านั้น
Private void function_1( int x ) { // }
โครงสร้างของเมธอด (Method Structure)
• ชนิดของ accessibility
4. Protected ใช้นิยามตัวแปรและ Method ที่ใช้ได้เฉพาะ class ที่สร้างขึ้นมาด้วย
วิธีการสืบทอด ( inheritance ) เท่านั้น โดยปกติจะใช้ Protected กับ class ที่เป็น
class ต้นฉบับ ( base class )
ตัวย่างเช่น
การประกาศตัวแปรแบบ Protected
ใช้คาว่า Protected นาหน้าการประกาศตัวแปร เป็นการเรียกใช้งาน
ตัวแปรโดยสามารถเข้าได้ภายใน Method หรือ class ได้เท่านั้น เรียกใช้ภายนอก
class ไม่ได้
Protected float score = 0.0 ;
การประกาศ Mrthod แบบ Protected สามารถเรียกใช้งานได้เฉพาะใน class
ที่ประกาศ Method หรือ class ที่ได้มาจากการสืบทอดเท่านั้น
Protected void function_1 ( int x ) { // }
โครงสร้างของเมธอด (Method Structure)
• ชนิดของ accessibility
5. Void ใช้นิยาม Method โดยไม่มีการส่งค่าได้ๆกลับมา จาก Method นั้น ( ไม่ต้องมี
คาสั่ง return ) ถ้าไม่มีการระบุค่า accessibility จะหมายถึงตัวแปรใช้ได้เฉพาะใน
Method ที่นิยามตัวแปรนั้นเท่านั้น
Method ใช้ได้ภายใน class นั้นเท่าน้า Method อื่นจะมาเรียกใช้ไม่ได้
class ใช้ได้เฉพาะภายในไฟล์ได้เท่านั้น โปรแกรมอื่นหรือไฟล์อื่นจะมาเรียกใช้
ไม่ได้
โครงสร้างของเมธอด (Method Structure)
จาแนก Method ใน Java ได้ 2 ประเภท ได้แก่ Method ที่สร้างขึ้นมาเอง
และ Method ที่มีอยู่แล้ว ซึ่งแต่ละประเภทมีลักษณะดังนี้
• Method ที่สร้างขึ้นมาเอง
สามารถจาแนก method ที่สร้างขึ้งเอง ได้ดังนี้
1. Method ไม่รับค่าและไม่ส่งค่า
เป็น method ที่ไม่มีตัวแปร parameter ดังนั้นภายใน body ของ method ชนิดนี้
จึงประกอบด้วย statement ที่ต้องการให้ทางานเท่านั้น ซึ่งหน้าชื่อเมธอดจะมีคาว่า
void และภายในเมธอดจะไม่มีคาว่า return ขอยกตัวอย่างโปรแกรมง่ายๆ ที่ไม่มี
ความซับซ้อนเพื่อง่ายต่อความเข้าใจดังนี้
ตัวอย่างโปรแกรม : การเรียกใช้ method ในการขีดเส้น
ประเภทของเมธอด ( Type of Method )
ประเภทของเมธอด ( Type of Method )
2. Method ที่มีการส่งหรือคืนค่ากลับ
เป็น method ที่ไม่มีตัวแปร parameter แต่เมื่อสิ้นสุดการทางานของ method จะทาการ
return กลับไปยัง method เมื่อถูกเรียกใช้งานข้างหน้าชื่อเมธอดจะไม่มีคาว่า void แต่ชนิด
ของ dataType ที่ตังการคืนค่ากลับ และภายในเมธอดจะมีคาว่า return
ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่2 และ 3
หมายเหตุ เมธอดที่ไม่มีการส่งค่าผ่านเข้าไปในเมธอด ซึ่งมีรูปแบบ ชื่อเมธอด( ) จะเรียกการ
เรียกใช้เมธอดประเภทนี้ว่า Pass by reference
3. Method ที่มีการรับค่าหรือมีการนาค่าเข้าสู่ภายในเมธอด โดยผ่านทาง parameter ซึ่งมีรูปแบบการ
เขียนดังนี้
ชื่อเมธอด (data Type Parameter, data Type Parameter,…)เช่น add ( int a,int b )
ตัวอย่างโปรแกรม :
class add2Num {
public void add(int a,int b)
{ System.out.println(a+b); } //end method ann()
public static void main( String args[] ) {
add2Num a=new add2Num();
a.add(10,1)ว // call method ann()
} //end main()
} //end calss
ในการเขียนโปรแกรมสิ่งที่จาเป็นในการพิจารณาคือ Parameter และ Argument โดยที่ ค่าที่ class หรือ
วัตถุนั้นเก็บเพื่อส่งต่อให้กับ Method นั้นเก็บจะเรียกว่า Parameter ซึ่งการใช้งานแบบนี้จะเรียกว่า Pass by
value จากโปรแกรมที่ผ่านมาจะเห็นได้ว่า Argument คือ 10 และ 1 ส่วน Parameter คือ a และ b
ประเภทของเมธอด ( Type of Method )
4. Method ที่มีทั้งการรับค่าและการส่งค่า เช่น
class add2Num {
public int ann(int a,int b)
{ int c=a+b; return c; } //end method ann()
public static void main( String args[] ) {
add2Num a=new add2Num();
a.add(10,1)ว // call method ann()
} //end main()
} //end calss
ประเภทของเมธอด ( Type of Method )
2. Method ที่มีอยู่แล้ว
Method ชนิดที่มีอยู่แล้วใน class library พร้อมถูกเรียกใช้งานแต่จะแยกเป็น
Method ของ Class และ Method ของ Object โดยจาแนกได้ 2 ลักษณะดังนี้
-Method ของ Class ( Class Method ) จะเป็น Method แบบ
Static สามารถเรียกใช้ได้ทันทีโดยไม่จาเป็นต้องสร้าง Object ใหม่ขึ้นมา ดังตัวอย่าง {
System.out.println(“ “);
เมื่อ System คือ ชื่อ class จาก library
Out คือ ชื่อ Object ของ Class
println() หรือ print คือ ชื่อ Method
-Method ของ Object ( Instance Method ) คือ Method ทั่วไปที่มี
อยู่ใน class แต่เมื่อต้องเรียก
ใช้งาน จะต้องสร้าง Object ขึ้นมาก่อนแล้วใช้งาน Object นั้นในการเข้าถึง method
Syntax : การใช้งาน Object เข้าถึง Method ให้เชื่อมด้วยเครื่องหมาย ( . )
ประเภทของเมธอด ( Type of Method )
การเรียกใช้งาน Method ดังในโปรแกรมตัวอย่าง มีขั้นตอนในการทางานดังนี้
1. สร้าง Object ของ Class ที่ต้องการเรียกใช้ Method นั้น โดยการใช้คาสั่ง
<Class_name> <Object_name>=new<Class_name>
( <Class_argument> );
ตัวอย่างเช่น TestMethod obj=new TestMethod();
ในกรณีที่ Method มีการมีนิยามการใช้งานแบบ Static แสดงว่า Method นั้นสามารถ
เรียกใช้งานได้เลยโดยไม่ต้องสร้าง Object
2. เรียก Method ที่อยู่ใน Class นั้นผ่านตัวแปร Object โดยใช้เครื่องหมาย ( . )
ในการเข้าถึง
Method นั้นๆ
ตัวอย่างเช่น obj.input(); เรียก Method ที่ชื่อ input ผ่าน Object ที่ชื่อ
Obj
output( score,grade ); เรียก Method ที่ชื่อ output โดยไม่ต้องสร้าง
การเรียกใช้ Method
3. ส่งข้อมูลนาเข้าให้กับ Method นั้น ดังตัวอย่างเช่น grade=process(score); ใน
Method ที่ชื่อ process มีการรับจานวนเต็มเข้ามา
ถ้าไม่มีข้อมูลนาเข้า เช่น obj.input(); ต้องเขียนชื่อ Method ตามด้วยวงเล็บ
4. รับข้อมูลที่ส่งกลับมาจาก Method นั้น ดังตัวอย่างเช่น
grade=process(score); ใน Method ที่ชื่อ process มีการส่งค่ากลับมาเป็นตัวอักษร
ดังนั้นต้องมีตัวแปรที่ชื่อ
Grade มารับข้อมูลที่เป็นตัวอักษร ถ้าไม่มีข้อมูลส่งกลับมา หรือ void ใน Method เช่น output(
score,grade ); ไม่มีการส่งค่ากลับก็ไม่ต้องมีตัวแปรมารับค่าแต่อย่างใด
การเรียกใช้ Method
คลาส Math เป็นคลาสที่ Java มีมาให้อยู่แล้วเพื่อใช้สาหรับการประมวลผลทาง
คณิตศาสตร์ คลาส Math นี้จะอยู่ในแพคเกจ Java.lang คลาสนี้มีค่าคงตัวที่น่าสนใจ 2 ตัวคือ
1. Math.E
2. Math.Pl
ตัวอย่างคลาส Math
แนะนาคลาส Math และเมธอดทางคณิตศาสตร์
คลาส Math
Abs() ใช้หาค่าสัมบูรณ์
Sqrt() ใช้หาค่ารากที่สอง
Now() ใช้หาค่ายกกาลัง
Ceil() ใช้ปัดเศษค่าทศนิยมให้มากขึ้น
Floor() ใช้ปัดเศษทศนิยมให้มีค่าน้อยลง
การส่งค่า Argument ของ Method เราสามารถสร้าง Method ที่มีการรับค่า
จากผู้เรียกเพื่อกาหนดพฤติกรรมการทางานของ Method นั้นๆค่าที่ถูกส่งไปนี้เรียกว่า
อาร์กิวเมนต์ (Argument) ส่วน Method ที่ถูกเรียกจะรับค่าเหล่านี้ผ่านมาทาง
พารามิเตอร์ (Parameter) ซึ่งถูกนิยามไว้ในส่วน Parameter_list ของการประกาศ
Method
Method แต่ละอันสามารถถูกประกาศให้มีพารามิเตอร์ได้ตั้งแต่ศูนย์ตัวหรือ
มากกว่า โดยพารามิเตอร์แต่ละตัวจะต้องมีรูปแบบข้อมูลกากับไว้เสมอ และ
Argument ที่ใช้ในขณะเรียกใช้งาน Method จะต้องมีรูปแบบข้อมูลที่ตรงกัน
การส่งค่า Argument ของ Method
การส่งค่า Argument ของ Method
รูปแบบ
• เมธอดที่มีการส่งค่ากลับ
เป็น Method ที่ไม่มีค่า parameter แต่เมื่อสิ้นสุดการทางานของ
Method จะทาการ return กลับไปยัง Method เมื่อถูกเรียกใช้งาน
ข้างหน้าชื่อ Method จะไม่มีคาว่า void แต่มีชนิดของ data type ที่
ต้องการคืนค่ากลับและภายใน Method จะมีคาว่า return
เมธอดที่มีการส่งค่ากลับ
ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่ 2-3
เมธอดที่มีการส่งค่ากลับ
//Msend.java
public class Msend
{
public static void main(String[] args)
{
System.out.println("Display Multiply");
System.out.println(" "+multiply());
}//end
main()
public static String multiply()
{
int b=0;
Stringoutput= " ";
for (int i=2;i<=3 ;i++ )
{
for(int j=1;j<=12;j++) {
b = i*j;
output += b+ " ";
}//end inside for
output += " n ";
}//end outside for
return output;
} //end method multiply()
}//end
class
เมธอดที่มีการส่งค่ากลับ
• การส่งค่ากลับแบบ บูลีน
เมธอดอีกชนิดที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับ
แบบบูลีน โดยค่าที่ส่งกลับมาจะมีสองค่าเท่านั้น คือ จริง ( true ) กับเท็จ ( false ) ซึ่ง
จะได้คาว่า Boolean ที่ส่วนหัวเมธอดลักษณะนี้มักใช้ในการตรวจสอบเงื่อนไขต่างๆ
โดยส่งข้อมูลที่ต้องการตรวจสอบเป็น Argument เข้าไป
ตัวอย่างเช่น : ถ้าหากต้องการตรวจสอบว่าตัวเลขที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง
1 ถึง 100 หรือไม่จะเขียนเมธอดดั้งนี้
การส่งค่ากลับแบบ บูลีน
ตัวแปรแบบ local
ตัวแปรที่ประกาศใช้ในเมธอด เรียกว่าตัวแปรแบบท้องถิ่นหรือตัวแปรแบบโล
คอล ( local variable ) โดยใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตตเมนต์ต่างๆที่
อยู่นอกเมธอดที่ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้ การประกาศตัวแปร
local นี้จะทาให้เมธอดหลายๆเมธอดใช้ตัวแปรเดียวกันได้ แม้ตัวแปรเมธอดที่สร้างขึ้น
จะมีชื่อเดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็นค่าที่ไม่เท่ากัน ถ้า
สังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปรแบบ local
นี้เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัวแปรนั้น แต่เมื่อ
เมธอดทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูกยกเลิกไป
ตัวอย่าง ตัวแปรแบบ local ได้แก่
ประกาศตัวแปรแบบ local ไว้ใน Method
Public class Test {
Public static void main(String[] args) {
}
// Method ที่ทาการประกาศตัวแปร
Public static void declareVariableInMethod(){
Int i= 0; // ตัวแปรที่ถูกประกาศใน method
System.out.println(i);
// ตัวแปรจะถูกทาลายหลังจากจบ method
}
}
ตัวแปรแบบ local
โอเวอร์โหลดเมธอด ( Overloading Method )
Overloading Method หมายถึง Method ที่มีชื่อของ Method เป็นชื่อ
เดียวกัน แต่มี Type ของ Method ต่างกัน ซึ่งจะทาให้มีหน้าที่การทางานแตกต่าง
กันด้วย เราจะเรียกกรณีของของ Method ที่เกิดขึ้นว่า Overloading Method
ตัวอย่าง
โอเวอร์โหลดเมธอด ( Overloading Method )
อธิบายโปรแกรม โปรแกรมนี้จะเป็นโปรแกรมที่ใช้หาค่ามากสุดของ
ตัวเลข 2 ตัว ซึ่งเป็นดังตัวอย่างแต่จะปรับให้สามารถหาค่าได้ 2 แบบ คือ int
และ double จะเห็น Method ชื่อ max อยู่ 2 Method แต่ต่างกันตรงที่ Type
หน้า Method และการรับพารามิเตอร์ของทั้งสอง โดย Method แรกรับ
พารามิเตอร์แบบ double แต่ Method ที่ 2 นั้นเป็น int ถ้าเป็นลักษณะแบบนี้
เรียกว่า Overloading Method การทางานของ Method แบบนี้คือ จะทางาน
ตามประเภทของพารามิเตอร์
โอเวอร์โหลดเมธอด ( Overloading Method )
ส่วนที่ Main จะเห็นว่ามีการเรียกใช้ Method max 2 แบบด้วยกัน คือ
• แบบแรก T.Mmax(3,4) นั้น Method ที่ถูกเรียกใช้ คือ in max( int num1, int
num2 )
• แบบที่สอง T.M.max(4,7,5,9) นั้น Method ที่ถูกเรียกใช้งาน คือ double
max(double num1,double num2)
ตัวอย่างเช่น
โอเวอร์โหลดเมธอด ( Overloading Method )
อธิบายโปรแกรม จากโปรแกรมนี้ภาพรวมของโปรแกรมคือ การหาพื้นที่ของ
วงกลมให้สังเกตที่ Constructor Method มีอยู่ 2 แบบ
• Circle (double r) นั้นรับพารามิเตอร์เป็น double คือ ค่าของรัศมีที่เป็นตัวเลข
ใดๆก็ได้ที่เราต้องการหาพื้นที่ของวงกลม
• Circle( ) ไม่รับพารามิเตอร์ คือ ถ้าเราไม่ส่งค่ารัศมีให้มันจะเซตค่าของรัศมีเป็น
1.0 ที่ Method o โดยอัตโนมัติ ที่ main มีการสร้าง object ชื่อ c ขึ้นมา ให้
สังเกตว่ามีการส่งค่า 2.0 ไปให้ Constructor ซึ่งหมายความว่า Circle(double r)
จะทางานจึงไปเซตค่า radius เป็น 2.0 แล้วคานวณผลลัพธ์เป็นค่าพื้นที่ของ
วงกลมรัศมี 2.0 ออกมานั่นเอง
1. นายนครินทร์ หรสิทธิ์ เลขที่ 8
2. นางสาวปิยกมล ปูรณวัฒนกุล เลขที่ 11
3. นางสาวลัชชา ยมะคุปต์ เลขที่ 13
4. นางสาวเกศินี อุฬูทิศ เลขที่ 16
5. นางสาวจุฑารัตน์ โชติกาญจนวงศ์ เลขที่ 18
6.นางสาวปิยธิดา อมรมงคลศิลป์ เลขที่ 20
7. นางสาวณิชกานต์ แดงจันทร์
เลขที่ 29
ชั้นมัธยมศึกษาปีที่ 6/1
ผู้จัดทา
อาจารย์ทรงศักดิ์ โพธิ์เอี่ยม
เสนอ

More Related Content

What's hot

Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptIMC Institute
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุBoOm mm
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPp'dan Phuengkun
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionIMC Institute
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นTua Tor
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Thanachart Numnonda
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPornsitaintharak
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Thanachart Numnonda
 
2.Java fundamentals
2.Java fundamentals2.Java fundamentals
2.Java fundamentalsUsableLabs
 

What's hot (19)

Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
4.Oop
4.Oop4.Oop
4.Oop
 
5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
 
METHODS
METHODSMETHODS
METHODS
 
Computer Programming 4
Computer Programming 4Computer Programming 4
Computer Programming 4
 
บทที่ 8 Methods
บทที่ 8 Methodsบทที่ 8 Methods
บทที่ 8 Methods
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุ
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
เมธอด
เมธอดเมธอด
เมธอด
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
 
Method
MethodMethod
Method
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
3.Expression
3.Expression3.Expression
3.Expression
 
2.Java fundamentals
2.Java fundamentals2.Java fundamentals
2.Java fundamentals
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
 

Viewers also liked

CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELS
CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELSCLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELS
CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELSDapo Alimi
 
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897Mint Jueng
 
Resume_sathish.D.V_IJP
Resume_sathish.D.V_IJPResume_sathish.D.V_IJP
Resume_sathish.D.V_IJPsathish kumar
 
Pamela Noey Resume
Pamela Noey ResumePamela Noey Resume
Pamela Noey ResumePamela Noey
 
Gaither, Ronald Digital Media Resume Feb2016
Gaither, Ronald Digital Media Resume Feb2016Gaither, Ronald Digital Media Resume Feb2016
Gaither, Ronald Digital Media Resume Feb2016Ronald Gaither
 
Quorum sensing in luminescent bacteria
Quorum sensing  in luminescent bacteriaQuorum sensing  in luminescent bacteria
Quorum sensing in luminescent bacteriaSmruti Prabhudesai
 
Как научить детей понимать, что именно они находт в интернете и как это связа...
Как научить детей понимать, что именно они находт в интернете и как это связа...Как научить детей понимать, что именно они находт в интернете и как это связа...
Как научить детей понимать, что именно они находт в интернете и как это связа...Анатолий Шперх
 
Зарождение и развитие экономических идей
Зарождение и развитие экономических идейЗарождение и развитие экономических идей
Зарождение и развитие экономических идейПётр Ситник
 
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...TCenter500
 
Мобильное обучение: использование мобильных устройств в образовании
Мобильное обучение: использование мобильных устройств в образованииМобильное обучение: использование мобильных устройств в образовании
Мобильное обучение: использование мобильных устройств в образованииTCenter500
 
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...Города на территории Беларуси в IX - середине XIII в.: происхождение названий...
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...Пётр Ситник
 

Viewers also liked (15)

Rebekah Youngblood Resume
Rebekah Youngblood ResumeRebekah Youngblood Resume
Rebekah Youngblood Resume
 
CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELS
CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELSCLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELS
CLINICAL APPLICATIONS OF RAISING GLUTATHIONE LEVELS
 
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897
อุปกรณ์พื้นฐานของคอมพิวเตอร์ 15544897
 
Resume_sathish.D.V_IJP
Resume_sathish.D.V_IJPResume_sathish.D.V_IJP
Resume_sathish.D.V_IJP
 
Pamela Noey Resume
Pamela Noey ResumePamela Noey Resume
Pamela Noey Resume
 
Gaither, Ronald Digital Media Resume Feb2016
Gaither, Ronald Digital Media Resume Feb2016Gaither, Ronald Digital Media Resume Feb2016
Gaither, Ronald Digital Media Resume Feb2016
 
Patricia Purnell resume
Patricia Purnell resumePatricia Purnell resume
Patricia Purnell resume
 
Quorum sensing in luminescent bacteria
Quorum sensing  in luminescent bacteriaQuorum sensing  in luminescent bacteria
Quorum sensing in luminescent bacteria
 
Как научить детей понимать, что именно они находт в интернете и как это связа...
Как научить детей понимать, что именно они находт в интернете и как это связа...Как научить детей понимать, что именно они находт в интернете и как это связа...
Как научить детей понимать, что именно они находт в интернете и как это связа...
 
Зарождение и развитие экономических идей
Зарождение и развитие экономических идейЗарождение и развитие экономических идей
Зарождение и развитие экономических идей
 
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...
Актуализация сведений на типовых сайтах школ. Александр Анатольевич Добряков,...
 
Мобильное обучение: использование мобильных устройств в образовании
Мобильное обучение: использование мобильных устройств в образованииМобильное обучение: использование мобильных устройств в образовании
Мобильное обучение: использование мобильных устройств в образовании
 
Biofilm
BiofilmBiofilm
Biofilm
 
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...Города на территории Беларуси в IX - середине XIII в.: происхождение названий...
Города на территории Беларуси в IX - середине XIII в.: происхождение названий...
 
Chapter 3 Wind Erosion
Chapter 3 Wind ErosionChapter 3 Wind Erosion
Chapter 3 Wind Erosion
 

Similar to Method (9)

นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethods
 
Chapter3
Chapter3Chapter3
Chapter3
 
เมธอด
เมธอดเมธอด
เมธอด
 
เมธอด
เมธอดเมธอด
เมธอด
 
Power point
Power pointPower point
Power point
 
Methods
MethodsMethods
Methods
 
Methods
MethodsMethods
Methods
 
Methods
MethodsMethods
Methods
 
Method JAVA
Method JAVAMethod JAVA
Method JAVA
 

More from Latcha MaMiew

โครงงาน เรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบ
โครงงานเรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบโครงงานเรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบ
โครงงาน เรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบLatcha MaMiew
 
แผ่นพับ
แผ่นพับแผ่นพับ
แผ่นพับLatcha MaMiew
 
เส้นทางการศึกษาต่อและประกอบอาชีพ
เส้นทางการศึกษาต่อและประกอบอาชีพเส้นทางการศึกษาต่อและประกอบอาชีพ
เส้นทางการศึกษาต่อและประกอบอาชีพLatcha MaMiew
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1Latcha MaMiew
 
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศบทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศLatcha MaMiew
 

More from Latcha MaMiew (7)

โครงงาน เรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบ
โครงงานเรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบโครงงานเรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบ
โครงงาน เรื่องการศึกษาสรรพคุณและประโยชน์ของต้นตะขบ
 
แผ่นพับ
แผ่นพับแผ่นพับ
แผ่นพับ
 
เส้นทางการศึกษาต่อและประกอบอาชีพ
เส้นทางการศึกษาต่อและประกอบอาชีพเส้นทางการศึกษาต่อและประกอบอาชีพ
เส้นทางการศึกษาต่อและประกอบอาชีพ
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
It news
It newsIt news
It news
 
It News
It NewsIt News
It News
 
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศบทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 

Method

  • 2. โครงสร้างของเมธอด (Method Structure) การประกาศฟังก์ชันหรือ Method รูปแบบทั่วไปของ Method จะเป็นดังนี้ Accessibility return_data_type methodName(parameter_list){ //รายละเอียด } • Accessibility คือ การกาหนดชนิดการเรียกใช้และการเข้าถึง Method ตัวอย่างของ Accessibility เช่น public,protected,private,static เป็นต้น • return_data_type คือ ค่าที่ส่งกลับมาจาก Method ถ้าไม่มีใช้คาว่า Void ตัวอย่างของ return_data_type เช่น int,char,string,float,int[ ],string[ ] เป็นต้น • methodName คือ ชื่อของ method เช่น maxFunction • parameter_list คือ ตัวแปรที่รับเข้ามาใน method ตัวอย่างของ parameter_list เช่น int x1,float x2,char x3 เป็นต้น
  • 3. โครงสร้างของเมธอด (Method Structure) • ตัวอย่างการประกาศ Method Int maxFunction(int x1,int x2){ int max = 0; if(x1 > x2) max = x1; else max = x2; return(max); } คาอธิบาย ชื่อ Method คือ maxFunction รับ ข้อมูลเข้ามาเป็นจานวนเต็ม 2 ตัว คือ intx1 และ intx2 และส่งค่ากลับเป็น int หน้าที่ของ Method นี้ คือทาการตรวจค่า ของ x1 และ x2 ว่าตัวใดมีค่ามากที่สุด จากนั้น กาหนดค่าให้ตัวแปร max เพื่อส่งค่ากลับ accessibility ของ Method accessibility เป็นการกาหนดชนิดของการ เรียกใช้ ใช้กาหนดขอบเขตการใช้งานของตัวแปร ,Method หรือ class
  • 4. โครงสร้างของเมธอด (Method Structure) • ชนิดของ accessibility 1. Static ใช้นิยามตัวแปรและ Method ที่ต้องการให้มีค่าคงที่ สามารถนาไปใช้ได้กับทุกๆส่วนของ class โดยค่า นั้นไม่มีการเปลี่ยนแปลงไม่ว่ากรณีใดๆ ตัวอย่างเช่น การประกาศตัวแปรที่เป็นค่าคงที่ - ใช้คาว่า static นาหน้าการประกาศตัวแปร(สามารถเปลี่ยนแปลงค่าได้) - ใช้คาว่า static final นาหน้าการประกาศตัวแปรโดยที่ไม่สามารถแก้ไขค่าได้ - ต้องการประกาศไว้ภายนอก Method เท่านั้น static float PI_VALUE = 3.14159; static final float PI_VALUE = 3.14159; การประกาศ Method แบบ static สามารถเรียกใช้ใน class หรือเรียกผ่าน class โดยไม่ต้องประกาศตัวแปร Object ก็ได้เพราะมีการจองตาแหน่งหน่วยความจาของ Method ไว้แน่นอนหรือคงที่ สามารถเรียกใช้งานได้ทันที static double random(){// } static double pow(double a,double b){// } public static void main(string[] arg){// }
  • 5. • ชนิดของ accessibility 2.Public ใช้นิยามตัวแปร,Method และ Class สามารถนาไปใช้กับ Class หรือ โปรแกรมอื่นๆได้ ตัวอย่างเช่น การประกาศตัวแปรแบบ Public (ตัวแปรสาธารณะ) ใช้คาว่า Public นาหน้าการประกาศตัวแปร เป็นการเรียกใช้ตัวแปรตามปกติ โดยสามารถเข้าถึงได้ทุกส่วน ของโปรแกรม และเรียกใช้ผ่าน Object ของ Classได้ public float score = 0.0 ; การประกาศMethod แบบ Public สามารถเรียกใช้งานได้ทั้งในClass และโปรแกรมที่อยู่นอกClass โดยเรียกใช้ผ่าน Object ของClassนั้นๆ public void function_1(int x) {// } การประกาศClass แบบ Public สามารถเข้าถึงหรือประกาศ Object ของClassได้จากโปรแกรมหรือClassอื่นได้ public class Test 1 { } โครงสร้างของเมธอด (Method Structure)
  • 6. • ชนิดของ accessibility 3. Private ใช้นิยายตัวแปรและ Method เพื่อให้เรียกใช้ได้เฉพาะภายใน class ที่สร้างตัว แปรหรือ Method นั้นๆเท่านั้น ตัวอย่างเช่น การประกาศตัวแปรแบบ Private( ตัวแปรเฉพาะ ) ใช้คาว่า Private นาหน้าการประกาศตัวแปร เป็นการเรียกใช้ตัวแปรโดยสามารถ เข้าถึงได้เฉพาะส่วนที่ประกาศตัวแปรนั้น เช่น ในMethod หรือภายใน class ได้เท่านั้น Private float score = 0.0 ; การประกาศ Method แบบ Private สามารถเรียกใช้งานได้เฉพาะใน class ที่ประกาศ Method นั้นเท่านั้น Private void function_1( int x ) { // } โครงสร้างของเมธอด (Method Structure)
  • 7. • ชนิดของ accessibility 4. Protected ใช้นิยามตัวแปรและ Method ที่ใช้ได้เฉพาะ class ที่สร้างขึ้นมาด้วย วิธีการสืบทอด ( inheritance ) เท่านั้น โดยปกติจะใช้ Protected กับ class ที่เป็น class ต้นฉบับ ( base class ) ตัวย่างเช่น การประกาศตัวแปรแบบ Protected ใช้คาว่า Protected นาหน้าการประกาศตัวแปร เป็นการเรียกใช้งาน ตัวแปรโดยสามารถเข้าได้ภายใน Method หรือ class ได้เท่านั้น เรียกใช้ภายนอก class ไม่ได้ Protected float score = 0.0 ; การประกาศ Mrthod แบบ Protected สามารถเรียกใช้งานได้เฉพาะใน class ที่ประกาศ Method หรือ class ที่ได้มาจากการสืบทอดเท่านั้น Protected void function_1 ( int x ) { // } โครงสร้างของเมธอด (Method Structure)
  • 8. • ชนิดของ accessibility 5. Void ใช้นิยาม Method โดยไม่มีการส่งค่าได้ๆกลับมา จาก Method นั้น ( ไม่ต้องมี คาสั่ง return ) ถ้าไม่มีการระบุค่า accessibility จะหมายถึงตัวแปรใช้ได้เฉพาะใน Method ที่นิยามตัวแปรนั้นเท่านั้น Method ใช้ได้ภายใน class นั้นเท่าน้า Method อื่นจะมาเรียกใช้ไม่ได้ class ใช้ได้เฉพาะภายในไฟล์ได้เท่านั้น โปรแกรมอื่นหรือไฟล์อื่นจะมาเรียกใช้ ไม่ได้ โครงสร้างของเมธอด (Method Structure)
  • 9. จาแนก Method ใน Java ได้ 2 ประเภท ได้แก่ Method ที่สร้างขึ้นมาเอง และ Method ที่มีอยู่แล้ว ซึ่งแต่ละประเภทมีลักษณะดังนี้ • Method ที่สร้างขึ้นมาเอง สามารถจาแนก method ที่สร้างขึ้งเอง ได้ดังนี้ 1. Method ไม่รับค่าและไม่ส่งค่า เป็น method ที่ไม่มีตัวแปร parameter ดังนั้นภายใน body ของ method ชนิดนี้ จึงประกอบด้วย statement ที่ต้องการให้ทางานเท่านั้น ซึ่งหน้าชื่อเมธอดจะมีคาว่า void และภายในเมธอดจะไม่มีคาว่า return ขอยกตัวอย่างโปรแกรมง่ายๆ ที่ไม่มี ความซับซ้อนเพื่อง่ายต่อความเข้าใจดังนี้ ตัวอย่างโปรแกรม : การเรียกใช้ method ในการขีดเส้น ประเภทของเมธอด ( Type of Method )
  • 10. ประเภทของเมธอด ( Type of Method ) 2. Method ที่มีการส่งหรือคืนค่ากลับ เป็น method ที่ไม่มีตัวแปร parameter แต่เมื่อสิ้นสุดการทางานของ method จะทาการ return กลับไปยัง method เมื่อถูกเรียกใช้งานข้างหน้าชื่อเมธอดจะไม่มีคาว่า void แต่ชนิด ของ dataType ที่ตังการคืนค่ากลับ และภายในเมธอดจะมีคาว่า return ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่2 และ 3 หมายเหตุ เมธอดที่ไม่มีการส่งค่าผ่านเข้าไปในเมธอด ซึ่งมีรูปแบบ ชื่อเมธอด( ) จะเรียกการ เรียกใช้เมธอดประเภทนี้ว่า Pass by reference
  • 11. 3. Method ที่มีการรับค่าหรือมีการนาค่าเข้าสู่ภายในเมธอด โดยผ่านทาง parameter ซึ่งมีรูปแบบการ เขียนดังนี้ ชื่อเมธอด (data Type Parameter, data Type Parameter,…)เช่น add ( int a,int b ) ตัวอย่างโปรแกรม : class add2Num { public void add(int a,int b) { System.out.println(a+b); } //end method ann() public static void main( String args[] ) { add2Num a=new add2Num(); a.add(10,1)ว // call method ann() } //end main() } //end calss ในการเขียนโปรแกรมสิ่งที่จาเป็นในการพิจารณาคือ Parameter และ Argument โดยที่ ค่าที่ class หรือ วัตถุนั้นเก็บเพื่อส่งต่อให้กับ Method นั้นเก็บจะเรียกว่า Parameter ซึ่งการใช้งานแบบนี้จะเรียกว่า Pass by value จากโปรแกรมที่ผ่านมาจะเห็นได้ว่า Argument คือ 10 และ 1 ส่วน Parameter คือ a และ b ประเภทของเมธอด ( Type of Method )
  • 12. 4. Method ที่มีทั้งการรับค่าและการส่งค่า เช่น class add2Num { public int ann(int a,int b) { int c=a+b; return c; } //end method ann() public static void main( String args[] ) { add2Num a=new add2Num(); a.add(10,1)ว // call method ann() } //end main() } //end calss ประเภทของเมธอด ( Type of Method )
  • 13. 2. Method ที่มีอยู่แล้ว Method ชนิดที่มีอยู่แล้วใน class library พร้อมถูกเรียกใช้งานแต่จะแยกเป็น Method ของ Class และ Method ของ Object โดยจาแนกได้ 2 ลักษณะดังนี้ -Method ของ Class ( Class Method ) จะเป็น Method แบบ Static สามารถเรียกใช้ได้ทันทีโดยไม่จาเป็นต้องสร้าง Object ใหม่ขึ้นมา ดังตัวอย่าง { System.out.println(“ “); เมื่อ System คือ ชื่อ class จาก library Out คือ ชื่อ Object ของ Class println() หรือ print คือ ชื่อ Method -Method ของ Object ( Instance Method ) คือ Method ทั่วไปที่มี อยู่ใน class แต่เมื่อต้องเรียก ใช้งาน จะต้องสร้าง Object ขึ้นมาก่อนแล้วใช้งาน Object นั้นในการเข้าถึง method Syntax : การใช้งาน Object เข้าถึง Method ให้เชื่อมด้วยเครื่องหมาย ( . ) ประเภทของเมธอด ( Type of Method )
  • 14. การเรียกใช้งาน Method ดังในโปรแกรมตัวอย่าง มีขั้นตอนในการทางานดังนี้ 1. สร้าง Object ของ Class ที่ต้องการเรียกใช้ Method นั้น โดยการใช้คาสั่ง <Class_name> <Object_name>=new<Class_name> ( <Class_argument> ); ตัวอย่างเช่น TestMethod obj=new TestMethod(); ในกรณีที่ Method มีการมีนิยามการใช้งานแบบ Static แสดงว่า Method นั้นสามารถ เรียกใช้งานได้เลยโดยไม่ต้องสร้าง Object 2. เรียก Method ที่อยู่ใน Class นั้นผ่านตัวแปร Object โดยใช้เครื่องหมาย ( . ) ในการเข้าถึง Method นั้นๆ ตัวอย่างเช่น obj.input(); เรียก Method ที่ชื่อ input ผ่าน Object ที่ชื่อ Obj output( score,grade ); เรียก Method ที่ชื่อ output โดยไม่ต้องสร้าง การเรียกใช้ Method
  • 15. 3. ส่งข้อมูลนาเข้าให้กับ Method นั้น ดังตัวอย่างเช่น grade=process(score); ใน Method ที่ชื่อ process มีการรับจานวนเต็มเข้ามา ถ้าไม่มีข้อมูลนาเข้า เช่น obj.input(); ต้องเขียนชื่อ Method ตามด้วยวงเล็บ 4. รับข้อมูลที่ส่งกลับมาจาก Method นั้น ดังตัวอย่างเช่น grade=process(score); ใน Method ที่ชื่อ process มีการส่งค่ากลับมาเป็นตัวอักษร ดังนั้นต้องมีตัวแปรที่ชื่อ Grade มารับข้อมูลที่เป็นตัวอักษร ถ้าไม่มีข้อมูลส่งกลับมา หรือ void ใน Method เช่น output( score,grade ); ไม่มีการส่งค่ากลับก็ไม่ต้องมีตัวแปรมารับค่าแต่อย่างใด การเรียกใช้ Method
  • 16. คลาส Math เป็นคลาสที่ Java มีมาให้อยู่แล้วเพื่อใช้สาหรับการประมวลผลทาง คณิตศาสตร์ คลาส Math นี้จะอยู่ในแพคเกจ Java.lang คลาสนี้มีค่าคงตัวที่น่าสนใจ 2 ตัวคือ 1. Math.E 2. Math.Pl ตัวอย่างคลาส Math แนะนาคลาส Math และเมธอดทางคณิตศาสตร์ คลาส Math Abs() ใช้หาค่าสัมบูรณ์ Sqrt() ใช้หาค่ารากที่สอง Now() ใช้หาค่ายกกาลัง Ceil() ใช้ปัดเศษค่าทศนิยมให้มากขึ้น Floor() ใช้ปัดเศษทศนิยมให้มีค่าน้อยลง
  • 17. การส่งค่า Argument ของ Method เราสามารถสร้าง Method ที่มีการรับค่า จากผู้เรียกเพื่อกาหนดพฤติกรรมการทางานของ Method นั้นๆค่าที่ถูกส่งไปนี้เรียกว่า อาร์กิวเมนต์ (Argument) ส่วน Method ที่ถูกเรียกจะรับค่าเหล่านี้ผ่านมาทาง พารามิเตอร์ (Parameter) ซึ่งถูกนิยามไว้ในส่วน Parameter_list ของการประกาศ Method Method แต่ละอันสามารถถูกประกาศให้มีพารามิเตอร์ได้ตั้งแต่ศูนย์ตัวหรือ มากกว่า โดยพารามิเตอร์แต่ละตัวจะต้องมีรูปแบบข้อมูลกากับไว้เสมอ และ Argument ที่ใช้ในขณะเรียกใช้งาน Method จะต้องมีรูปแบบข้อมูลที่ตรงกัน การส่งค่า Argument ของ Method
  • 19. • เมธอดที่มีการส่งค่ากลับ เป็น Method ที่ไม่มีค่า parameter แต่เมื่อสิ้นสุดการทางานของ Method จะทาการ return กลับไปยัง Method เมื่อถูกเรียกใช้งาน ข้างหน้าชื่อ Method จะไม่มีคาว่า void แต่มีชนิดของ data type ที่ ต้องการคืนค่ากลับและภายใน Method จะมีคาว่า return เมธอดที่มีการส่งค่ากลับ
  • 20. ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่ 2-3 เมธอดที่มีการส่งค่ากลับ //Msend.java public class Msend { public static void main(String[] args) { System.out.println("Display Multiply"); System.out.println(" "+multiply()); }//end main() public static String multiply() { int b=0; Stringoutput= " "; for (int i=2;i<=3 ;i++ ) { for(int j=1;j<=12;j++) { b = i*j; output += b+ " "; }//end inside for output += " n "; }//end outside for return output; } //end method multiply() }//end class
  • 22. • การส่งค่ากลับแบบ บูลีน เมธอดอีกชนิดที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับ แบบบูลีน โดยค่าที่ส่งกลับมาจะมีสองค่าเท่านั้น คือ จริง ( true ) กับเท็จ ( false ) ซึ่ง จะได้คาว่า Boolean ที่ส่วนหัวเมธอดลักษณะนี้มักใช้ในการตรวจสอบเงื่อนไขต่างๆ โดยส่งข้อมูลที่ต้องการตรวจสอบเป็น Argument เข้าไป ตัวอย่างเช่น : ถ้าหากต้องการตรวจสอบว่าตัวเลขที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง 1 ถึง 100 หรือไม่จะเขียนเมธอดดั้งนี้ การส่งค่ากลับแบบ บูลีน
  • 23. ตัวแปรแบบ local ตัวแปรที่ประกาศใช้ในเมธอด เรียกว่าตัวแปรแบบท้องถิ่นหรือตัวแปรแบบโล คอล ( local variable ) โดยใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตตเมนต์ต่างๆที่ อยู่นอกเมธอดที่ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้ การประกาศตัวแปร local นี้จะทาให้เมธอดหลายๆเมธอดใช้ตัวแปรเดียวกันได้ แม้ตัวแปรเมธอดที่สร้างขึ้น จะมีชื่อเดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็นค่าที่ไม่เท่ากัน ถ้า สังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปรแบบ local นี้เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัวแปรนั้น แต่เมื่อ เมธอดทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูกยกเลิกไป
  • 24. ตัวอย่าง ตัวแปรแบบ local ได้แก่ ประกาศตัวแปรแบบ local ไว้ใน Method Public class Test { Public static void main(String[] args) { } // Method ที่ทาการประกาศตัวแปร Public static void declareVariableInMethod(){ Int i= 0; // ตัวแปรที่ถูกประกาศใน method System.out.println(i); // ตัวแปรจะถูกทาลายหลังจากจบ method } } ตัวแปรแบบ local
  • 25. โอเวอร์โหลดเมธอด ( Overloading Method ) Overloading Method หมายถึง Method ที่มีชื่อของ Method เป็นชื่อ เดียวกัน แต่มี Type ของ Method ต่างกัน ซึ่งจะทาให้มีหน้าที่การทางานแตกต่าง กันด้วย เราจะเรียกกรณีของของ Method ที่เกิดขึ้นว่า Overloading Method ตัวอย่าง
  • 26. โอเวอร์โหลดเมธอด ( Overloading Method ) อธิบายโปรแกรม โปรแกรมนี้จะเป็นโปรแกรมที่ใช้หาค่ามากสุดของ ตัวเลข 2 ตัว ซึ่งเป็นดังตัวอย่างแต่จะปรับให้สามารถหาค่าได้ 2 แบบ คือ int และ double จะเห็น Method ชื่อ max อยู่ 2 Method แต่ต่างกันตรงที่ Type หน้า Method และการรับพารามิเตอร์ของทั้งสอง โดย Method แรกรับ พารามิเตอร์แบบ double แต่ Method ที่ 2 นั้นเป็น int ถ้าเป็นลักษณะแบบนี้ เรียกว่า Overloading Method การทางานของ Method แบบนี้คือ จะทางาน ตามประเภทของพารามิเตอร์
  • 27. โอเวอร์โหลดเมธอด ( Overloading Method ) ส่วนที่ Main จะเห็นว่ามีการเรียกใช้ Method max 2 แบบด้วยกัน คือ • แบบแรก T.Mmax(3,4) นั้น Method ที่ถูกเรียกใช้ คือ in max( int num1, int num2 ) • แบบที่สอง T.M.max(4,7,5,9) นั้น Method ที่ถูกเรียกใช้งาน คือ double max(double num1,double num2) ตัวอย่างเช่น
  • 28. โอเวอร์โหลดเมธอด ( Overloading Method ) อธิบายโปรแกรม จากโปรแกรมนี้ภาพรวมของโปรแกรมคือ การหาพื้นที่ของ วงกลมให้สังเกตที่ Constructor Method มีอยู่ 2 แบบ • Circle (double r) นั้นรับพารามิเตอร์เป็น double คือ ค่าของรัศมีที่เป็นตัวเลข ใดๆก็ได้ที่เราต้องการหาพื้นที่ของวงกลม • Circle( ) ไม่รับพารามิเตอร์ คือ ถ้าเราไม่ส่งค่ารัศมีให้มันจะเซตค่าของรัศมีเป็น 1.0 ที่ Method o โดยอัตโนมัติ ที่ main มีการสร้าง object ชื่อ c ขึ้นมา ให้ สังเกตว่ามีการส่งค่า 2.0 ไปให้ Constructor ซึ่งหมายความว่า Circle(double r) จะทางานจึงไปเซตค่า radius เป็น 2.0 แล้วคานวณผลลัพธ์เป็นค่าพื้นที่ของ วงกลมรัศมี 2.0 ออกมานั่นเอง
  • 29. 1. นายนครินทร์ หรสิทธิ์ เลขที่ 8 2. นางสาวปิยกมล ปูรณวัฒนกุล เลขที่ 11 3. นางสาวลัชชา ยมะคุปต์ เลขที่ 13 4. นางสาวเกศินี อุฬูทิศ เลขที่ 16 5. นางสาวจุฑารัตน์ โชติกาญจนวงศ์ เลขที่ 18 6.นางสาวปิยธิดา อมรมงคลศิลป์ เลขที่ 20 7. นางสาวณิชกานต์ แดงจันทร์ เลขที่ 29 ชั้นมัธยมศึกษาปีที่ 6/1 ผู้จัดทา