4.1การนิยามและเรียกใช้เมธอด (Definition and Call Method)
Method เป็นระเบียบวิธีในการทางาน โดยการจัดกลุ่มข้อมูลสร้าง
เป็น Function ย่อยภายในโปรแกรมเพื่อง่ายต่อการบริหารจัดการกลุ่มข้อมูล ซึ่งมี
ทั้ง Method ที่คุณสร้างขึ้นใช้งานแอง และ Method ที่ Java นั้นมีอยู่แล้ว รอ
เพียงการถูกเรียกใช้
การนิยามเมธอด (Definition Method)
การนิยามเป็นการสร้างตัวตน (Body) ของ Method เพื่อให้รู้ว่า Method ชี้ชื่อ
อะไร บรรจุข้อมูลและชุดคาสั่งอะไรอยู่ภายในบ้าง สามารถสร้าง Method ได้
ตาม Syntax ต่อไปนี้
Accessibility return_data_type methodName
(parameter_list)
{ statement ;
statement;}
Syntax:
เมื่อ
- Accessibility คือ การระบุคานาหน้า Method ด้วยคา
ว่า private, protect, public และ static เพื่อให้ทราบว่า method นั้นเป็น method ชนิดใด
- return_data_type คือ การระบุชนิดข้อมูลที่จะใช้ในการ return ค่ากลับของ method
เช่น ข้อมูลชนิด String ,int
- methodName คือ ชื่อ method ที่เราตั้งขึ้น (ไม่ซ้ากับ Keyword)
- parameter_list คือ ตัวแปรที่ใช้ในการรับค่า ของ method นั้น ๆ สามารถใช้ตัวแปรได้
หลายตัว โดยที่ตัวแปร parameter นั้นไม่จาเป็นต้องใช้ข้อมูลชนิด
เดียวกัน หรือ method ที่สร้างนั้นอาจไม่จาเป็นต้องใช้ตัวแปร parameter ก็ได้
- statement คือ ประโยคคาสั่งภายใน body ของ method นั้น ๆ
การเรียกใช้ Method (Call Method)
เนื่องจากการสร้าง method นั้นจะต้องสร้างไว้
ภายนอก body ของ method main() ซึ่งเป็น method หลักในการเริ่มทางานของ
โปรแกรม ดังนั้นการเรียกใช้ method ที่สร้างขึ้นจะต้องถูกเรียกภายใน method
main
4.2 ประเภทของเมธอด (Type of Method)
จาแนก method ใน Java ได้ 2 ประเภท ได้แก่ Method ที่
สร้างขึ้นมาเอง และ Method ที่มีอยู่แล้ว ซึ่งแต่ละประเภทมีลักษณะดังนี้
4.1.1 Method ที่สร้างขึ้นมาเอง
สามารถจาแนก method ที่สร้างขึ้นเอง ได้ประเภท 6 ประเภท ดังนี้
1. Method ไม่รับและไม่ส่งค่า
เป็น method ที่ไม่มีตัวแปร parameter ดังนั้นภายใน body ของ method ชนิดนี้จึง
ประกอบไปด้วย statement ที่ต้องการให้ทางานเท่านั้น ขอยกตัวอย่างโปรแกรมง่าย ๆ ที่
ไม่มีความซับซ้อนเพื่อง่ายต่อความเข้าใจ
2. Method ที่มีการส่งค่า
เป็น method ที่ไม่มีตัวแปร parameter แต่เมื่อสิ้นสุดการทางานของ method จะ
ทาการ return กลับไปยัง method เมื่อถูกเรียกใช้งาน
3. Method ที่มีการรับค่า
โปรแกรมตัวอย่าง :Output:
4. Method ที่มีทั้งการรับค่าและส่งค่า
ตัวอย่างโปรแกรม Output:
5. Overloading Method
Method ประเภทนี้สามารถรับค่าตัวแปร parameter ได้หลากหลายชนิด
หลักการคือ ต้องสร้าง Method ขึ้นมาใหม่และใช้ชื่อ Method เดียวกัน ถ้าชนิดข้อมูล
ของ Method ต่างกันและชนิดข้อมูลของ parameter ต่างกัน ก็ต้องสร้าง
ชื่อ method นั้นขึ้นมาใหม่
มีประโยชน์ คือ ง่ายต่อการจาชื่อ Method มีข้อเสียคือ ยุ่งยากในเรื่องของค่า Parameter
6. Constructor Method
เป็น Methodที่มีชื่อเดียวกับ Classซึ่งถ้าคุณเขียนJavaโดยใช้ NetBeans Constructor
Method นี้จะถูกสร้างให้โดยอัตโนมัติ แต่ถ้าหากคุณใช้ Edit Plus คุณต้อง
สร้าง Constructor Method เองเมื่อคุณต้องการใช้ และในการนิยาม Method ชนิดนี้จะ
ไม่มีการ Return ค่ากลับ ซึ่งถ้าเป็น Method อื่น ๆ หากไม่ return ค่า ต้องระบุ
คาหลัก “ void” นาหน้าชื่อ Method แต่สาหรับ Constructor Method นี้ไม่ต้องมีคา
ว่า “void” ซึ่งโดยมากแล้ว Constructor จะใช้ประโยชน์ในการ Generate ค่า
เริ่มต้นกับกับโปรแกรมในครั้งแรกเท่านั้น Game โดยใช้วิธีการ Random ค่าตัวเลขใน
การ Initial
4.1.2 Method ที่มีอยู่แล้ว
Method ชนิดนีมีอยู่แล้วใน class library พร้อมถูกเรียกใช้งาน แต่จะแยกเป็น Method
ของ Class และ Method ของ Object โดยจาแนกได้ 2 ลักษณะ ดังนี้
- Method ของ Class (Class Method )
จะเป็น method แบบ Static สามารถเรียกใช้ได้ทันทีโดยไม่จาเป็นต้องสร้าง
Object ใหม่ขึ้นมา
-Method ของ Object (Instance Method)
คือ Method ทั่วไปที่มีอยู่ใน class แต่เมื่อต้องการเรียกใช้งาน จะต้องสร้าง Object
ขึ้นมาก่อน แล้วใช้ Object นั้นในการเข้าถึง method
Syntax : การใช้ Object เข้าถึง Method ให้เชื่อมด้วยเครื่องหมาย ( . )
4.3 การใช้แมธคลาสเมธอด (Math class method)
การใช้งาน method ที่อยู่ภายใน Math class จะเป็น Method ที่เกี่ยวข้องกับการ
คานวณทางคณิตศาสตร์ ซึ่ง method เหล่านี้จัดอยู่ใน
ประเภท “Method ของ Class (Class Method)” ที่กล่าวมาในข้างต้น ซึ่งแสดง
ตัวอย่างของ method ใน Math Class ดังภาพด้านล่างนี้
การสุ่มค่าตัวเลข (Random-Number Generation)
นอกจากการใช้ method ข้างต้นของ Math class แล้วคุณยังสามารถ random ค่าตัวเลข
เพื่อให้เครื่อง Generate ค่าตัวเลขให้โดยการใช้ method ของ math class ที่มีชื่อ
ว่า “random”โดยมีรูปแบบการใช้งานดังนี้
Syntax :
double randomValue = Math.random();
เมื่อ
randomValue หมายถึง ค่าตัวเลขที่ต้องการสุ่ม และ method random นี้
จะ random ค่าตัวเลขให้มีค่าตั้งแต่ 0.0 ขึ้นไป
ตัวอย่างเช่น
(int) (Math.random()*6) ß จะ Generate ตัวเลขระหว่าง 0-5
1+ (int) (Math.random()*6) ß ค่าที่ Generate ได้จะบวกเข้าไปอีก 1 คือได้ค่า
ระหว่าง 0-6
ตัวอย่างโปรแกรม :ให้สุ่ม Generate ค่าตัวเลขระหว่าง 0-9 โดยต้องการทั้งหมด 20 จานวน
Output:
Source Code:
1 //
RandomNumber.java
2 import
javax.swing.JOptionPane;
3
4 public class RandomNumber
{
5 public staticvoid main( String args[] )
6 {
7 int
value;
8 String output =
"";
9
10 // loop 20
times
11 for ( int count = 1; count <= 20; count++ ) {
12 value = ( int ) ( Math.random() * 10 ); // pick random integer between 1 and 6
13 output += value + " "; // append value to output
14
15 if ( count % 5 == 0 ) // if counter divisibleby 5 and newline
16 output +=
"n";
17 } // end
for
18
19 JOptionPane.showMessageDialog(null, output,
20 "20 Random Numbers from 1 to 6",
21 JOptionPane.INFORMATION_MESSAGE );
22
23 System.exit(0 ); // terminateapplication
24 } //
end main()
25 } // end class
4
4
4
4
4

4

  • 2.
    4.1การนิยามและเรียกใช้เมธอด (Definition andCall Method) Method เป็นระเบียบวิธีในการทางาน โดยการจัดกลุ่มข้อมูลสร้าง เป็น Function ย่อยภายในโปรแกรมเพื่อง่ายต่อการบริหารจัดการกลุ่มข้อมูล ซึ่งมี ทั้ง Method ที่คุณสร้างขึ้นใช้งานแอง และ Method ที่ Java นั้นมีอยู่แล้ว รอ เพียงการถูกเรียกใช้
  • 3.
    การนิยามเมธอด (Definition Method) การนิยามเป็นการสร้างตัวตน(Body) ของ Method เพื่อให้รู้ว่า Method ชี้ชื่อ อะไร บรรจุข้อมูลและชุดคาสั่งอะไรอยู่ภายในบ้าง สามารถสร้าง Method ได้ ตาม Syntax ต่อไปนี้ Accessibility return_data_type methodName (parameter_list) { statement ; statement;} Syntax:
  • 4.
    เมื่อ - Accessibility คือการระบุคานาหน้า Method ด้วยคา ว่า private, protect, public และ static เพื่อให้ทราบว่า method นั้นเป็น method ชนิดใด - return_data_type คือ การระบุชนิดข้อมูลที่จะใช้ในการ return ค่ากลับของ method เช่น ข้อมูลชนิด String ,int - methodName คือ ชื่อ method ที่เราตั้งขึ้น (ไม่ซ้ากับ Keyword) - parameter_list คือ ตัวแปรที่ใช้ในการรับค่า ของ method นั้น ๆ สามารถใช้ตัวแปรได้ หลายตัว โดยที่ตัวแปร parameter นั้นไม่จาเป็นต้องใช้ข้อมูลชนิด เดียวกัน หรือ method ที่สร้างนั้นอาจไม่จาเป็นต้องใช้ตัวแปร parameter ก็ได้ - statement คือ ประโยคคาสั่งภายใน body ของ method นั้น ๆ
  • 5.
    การเรียกใช้ Method (CallMethod) เนื่องจากการสร้าง method นั้นจะต้องสร้างไว้ ภายนอก body ของ method main() ซึ่งเป็น method หลักในการเริ่มทางานของ โปรแกรม ดังนั้นการเรียกใช้ method ที่สร้างขึ้นจะต้องถูกเรียกภายใน method main
  • 6.
    4.2 ประเภทของเมธอด (Typeof Method) จาแนก method ใน Java ได้ 2 ประเภท ได้แก่ Method ที่ สร้างขึ้นมาเอง และ Method ที่มีอยู่แล้ว ซึ่งแต่ละประเภทมีลักษณะดังนี้
  • 7.
    4.1.1 Method ที่สร้างขึ้นมาเอง สามารถจาแนกmethod ที่สร้างขึ้นเอง ได้ประเภท 6 ประเภท ดังนี้ 1. Method ไม่รับและไม่ส่งค่า เป็น method ที่ไม่มีตัวแปร parameter ดังนั้นภายใน body ของ method ชนิดนี้จึง ประกอบไปด้วย statement ที่ต้องการให้ทางานเท่านั้น ขอยกตัวอย่างโปรแกรมง่าย ๆ ที่ ไม่มีความซับซ้อนเพื่อง่ายต่อความเข้าใจ 2. Method ที่มีการส่งค่า เป็น method ที่ไม่มีตัวแปร parameter แต่เมื่อสิ้นสุดการทางานของ method จะ ทาการ return กลับไปยัง method เมื่อถูกเรียกใช้งาน
  • 8.
  • 9.
  • 10.
    5. Overloading Method Methodประเภทนี้สามารถรับค่าตัวแปร parameter ได้หลากหลายชนิด หลักการคือ ต้องสร้าง Method ขึ้นมาใหม่และใช้ชื่อ Method เดียวกัน ถ้าชนิดข้อมูล ของ Method ต่างกันและชนิดข้อมูลของ parameter ต่างกัน ก็ต้องสร้าง ชื่อ method นั้นขึ้นมาใหม่ มีประโยชน์ คือ ง่ายต่อการจาชื่อ Method มีข้อเสียคือ ยุ่งยากในเรื่องของค่า Parameter
  • 11.
    6. Constructor Method เป็นMethodที่มีชื่อเดียวกับ Classซึ่งถ้าคุณเขียนJavaโดยใช้ NetBeans Constructor Method นี้จะถูกสร้างให้โดยอัตโนมัติ แต่ถ้าหากคุณใช้ Edit Plus คุณต้อง สร้าง Constructor Method เองเมื่อคุณต้องการใช้ และในการนิยาม Method ชนิดนี้จะ ไม่มีการ Return ค่ากลับ ซึ่งถ้าเป็น Method อื่น ๆ หากไม่ return ค่า ต้องระบุ คาหลัก “ void” นาหน้าชื่อ Method แต่สาหรับ Constructor Method นี้ไม่ต้องมีคา ว่า “void” ซึ่งโดยมากแล้ว Constructor จะใช้ประโยชน์ในการ Generate ค่า เริ่มต้นกับกับโปรแกรมในครั้งแรกเท่านั้น Game โดยใช้วิธีการ Random ค่าตัวเลขใน การ Initial
  • 12.
    4.1.2 Method ที่มีอยู่แล้ว Methodชนิดนีมีอยู่แล้วใน class library พร้อมถูกเรียกใช้งาน แต่จะแยกเป็น Method ของ Class และ Method ของ Object โดยจาแนกได้ 2 ลักษณะ ดังนี้ - Method ของ Class (Class Method ) จะเป็น method แบบ Static สามารถเรียกใช้ได้ทันทีโดยไม่จาเป็นต้องสร้าง Object ใหม่ขึ้นมา
  • 13.
    -Method ของ Object(Instance Method) คือ Method ทั่วไปที่มีอยู่ใน class แต่เมื่อต้องการเรียกใช้งาน จะต้องสร้าง Object ขึ้นมาก่อน แล้วใช้ Object นั้นในการเข้าถึง method Syntax : การใช้ Object เข้าถึง Method ให้เชื่อมด้วยเครื่องหมาย ( . )
  • 14.
    4.3 การใช้แมธคลาสเมธอด (Mathclass method) การใช้งาน method ที่อยู่ภายใน Math class จะเป็น Method ที่เกี่ยวข้องกับการ คานวณทางคณิตศาสตร์ ซึ่ง method เหล่านี้จัดอยู่ใน ประเภท “Method ของ Class (Class Method)” ที่กล่าวมาในข้างต้น ซึ่งแสดง ตัวอย่างของ method ใน Math Class ดังภาพด้านล่างนี้
  • 16.
    การสุ่มค่าตัวเลข (Random-Number Generation) นอกจากการใช้method ข้างต้นของ Math class แล้วคุณยังสามารถ random ค่าตัวเลข เพื่อให้เครื่อง Generate ค่าตัวเลขให้โดยการใช้ method ของ math class ที่มีชื่อ ว่า “random”โดยมีรูปแบบการใช้งานดังนี้ Syntax : double randomValue = Math.random();
  • 17.
    เมื่อ randomValue หมายถึง ค่าตัวเลขที่ต้องการสุ่มและ method random นี้ จะ random ค่าตัวเลขให้มีค่าตั้งแต่ 0.0 ขึ้นไป ตัวอย่างเช่น (int) (Math.random()*6) ß จะ Generate ตัวเลขระหว่าง 0-5 1+ (int) (Math.random()*6) ß ค่าที่ Generate ได้จะบวกเข้าไปอีก 1 คือได้ค่า ระหว่าง 0-6
  • 18.
    ตัวอย่างโปรแกรม :ให้สุ่ม Generateค่าตัวเลขระหว่าง 0-9 โดยต้องการทั้งหมด 20 จานวน Output:
  • 19.
    Source Code: 1 // RandomNumber.java 2import javax.swing.JOptionPane; 3 4 public class RandomNumber { 5 public staticvoid main( String args[] ) 6 { 7 int value; 8 String output = ""; 9 10 // loop 20 times 11 for ( int count = 1; count <= 20; count++ ) { 12 value = ( int ) ( Math.random() * 10 ); // pick random integer between 1 and 6
  • 20.
    13 output +=value + " "; // append value to output 14 15 if ( count % 5 == 0 ) // if counter divisibleby 5 and newline 16 output += "n"; 17 } // end for 18 19 JOptionPane.showMessageDialog(null, output, 20 "20 Random Numbers from 1 to 6", 21 JOptionPane.INFORMATION_MESSAGE ); 22 23 System.exit(0 ); // terminateapplication 24 } // end main() 25 } // end class