METHODS
METHODS
Method คืออะไรmethod ก็คือระเบยีบวธิี
ในการทำางาน ซึ่งเป็นกลุ่มการทำางานของขอ้มูล เป็นสว่นยอ่ยภายในโปรแกรม เพื่อใหง่้ายต่อการจดัการกลุ่มขอ้มูล method มทัีง้ท่ีสรา้งขึ้นเอง และมใีห้บรกิารจาก java รอเพยีงการถกูเรยีกใชเ้ท่านัน้
1.โครงสรา้งท่ัวไปของ Method
จากโครงสรา้งจะเหน็วา่โปรแกรมหนึ่งอาจมหีลาย Class และในหน่ึง Class จะมีก่ี Method ก็ได้แต่ใน Class หลัก (Class ท่ีม ีpublic นำาหน้า) จะต้องม ีmain Method เสมอ
รูปแบบModifier Return_Type Method Name (parameter_list)
{ ชุดคำาสัง่หรอืสเตตเมนต์ต่างๆ return ( ตัวแปร หรอืขอ้มูล); }
-Method modifiers เป็นสว่นท่ีบอกวา่เมธอดนี้สามารถเรยีกใชไ้ด้ในระดับใด จะประกอบด้วยpublic stati
-Return_ Type สว่นนี้จะบอกวา่เมื่อเมธอดนี้ถกูเรยีกใชแ้ละจะมกีารสงค่ากลับมาหรอืไม ่ถ้ามจีะสง่กลับเป็นขอ้มูลประเภทใด ถ้าไมม่สีง่ค่ากลับจะใชค้ำาวา่ void
-MethodName เป็นชื่อของเมธอดparameter เป็นตัวแปรที่ใชส้ง่ขอ้มูลเขา้ไปในเมธอดถ้ามหีลายตัวแปรจะใช้เครื่องหมาย (;)คัน่ระหวา่งตัวแปร
-return เป็นสว่นท่ีใชส้ง่ค้ากลับใหกั้บชื่อเมธอด
ประเภทของ MethodJava แบง่ Method ออกเป็น
2 ประเภท ได้แก่1. Method ท่ีสรา้งขึ้นเอง โดยผู้เขยีนจะเขยีน Method ต่างๆ ใชเ้องตามต้องการ Method ท่ีสรา้งขึ้นมาเองนี้ อาจเป็น Method ท่ีอยูใ่น Class เดียวกัน หรอืต่าง Class กันก็ได้
2. Method ชนิดนีมอียูแ่ล้วใน class library พรอ้มถกูเรยีกใชง้าน แต่จะแยกเป็น Method ของ Class และ Method ของ Object
การเรยีกใช ้Method (Call Method)
เนื่องจากการสรา้ง method นัน้จะต้องสรา้งไวภ้ายนอก body ของ method main() ซึ่งเป็น method หลักในการเริม่ทำางานของโปรแกรม ดังนัน้การเรยีกใช ้method ที่สรา้งขึ้นจะต้องถกูเรยีกภายใน method main() โดยใชs้yntax ดังนี้
1. ในกรณีที่เป็น static method หรอื เมธอดที่ไมจ่ำาเป็นต้องสรา้งวตัถมุาเรยีกใช ้จะมีรูปแบบการเรยีกใชเ้มธอดดังน้ี
ชื่อ Method();ตัวอยา่งเชน่public class maxmin {public static void ann(int a){ System.out.println(a); } //end method ann()public static void main( String args[] ) {ann(10); // call method ann()} //end main()} //end class
2. ในกรณีท่ีไมเ่ป็น static method หรอื เมธอดท่ีจำาเป็นต้องสรา้งวตัถมุาเรยีกใช ้จะมรีูปแบบการเรยีกใชเ้มธอดดังนี้ชื่อวตัถ.ุMethod();
ดังนัน้การเรยีกใชง้านเมธอดประเภทนี้จำาเป็นต้องสรา้งวตัถขุึ้นมาก่อนจงึจะเรยีกใชง้านได้ ตัวอยา่งเชน่public class maxmin {public void ann(int a){ System.out.println(a); } //end method ann()public static void main( String args[] ) {maxmin a=new maxmin();a.ann(10); // call method ann()} //end main()} //end class
2.แนะนำาคลาส Math และเมธอดทางคณิตศาสตร์
การใชง้าน method ท่ีอยูภ่ายใน Math class จะเป็น Method ท่ีเก่ียวขอ้งกับการคำานวณทางคณิตศาสตร ์ ซึ่ง method เหล่านี้จดัอยูใ่นประเภท “Method ของ Class (Class Method)” จะเป็น method แบบ Static สามารถเรยีกใชไ้ด้ทันทีโดยไมจ่ำาเป็นต้องสรา้ง Object ใหมข่ึ้นมา ดังตัวอยา่ง System.out.println(“ “);เมื่อ System คือ ชื่อ class จาก Library Out คือ ชื่อ Object ของ class println() หรอื print คือ ชื่อ Method
ตัวอยา่งของ method ใน Math Class ดังภาพด้านล่างนี้
3.การสง่ค่าอารกิ์วเมนต์ของเมธอดมรีูปแบบของการเขยีนดังนี้
ชื่อเมธอด(dataType Parameter, dataType 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 class
ในการเขยีนโปรแกรมสิง่ท่ีจำาเป็นต้องพจิารณาคือ Parameter และ Argument โดยท่ี ค่าท่ี class หรอืวตัถนัุน้เก็บเพื่อสง่ต่อใหกั้บ Method นัน้คือ Argument สิง่ท่ี Method นัน้เก็บจะเรยีกวา่ Parameterซึ่งการใชง้านแบบนี้จะเรยีกวา่ Pass by value จากโปรแกรมท่ีผ่านมาจะเหน็ได้วา่ Argument คือ 10 และ 1 สว่น Parameter คือ a และ b
4.เมธอดท่ีมกีารสง่ค่ากลับเป็น method ท่ีไมม่ตัีวแปร parameter
แต่เมื่อสิน้สดุการทำางานของ method จะทำาการ return กลับไปยงั method เมื่อถกูเรยีกใชง้าน ขา้งหน้าชื่อเมธอดจะไมม่คีำาวา่ void แต่มชีนิดของ dataType ท่ีต้องการคืนค่ากลับ และภายในเมธอดจะมคีำาวา่ returnตัวอยา่งโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสตูรคณูแม ่2-3
Source Code:1 //Msend.java2 public class Msend3 {4 public static void main(String[] args)5 {6 System.out.println(“Display Multiply”);7 System.out.println(” “+multiply());8 }//end main()910 public static String multiply()11 {12 int b=0;13 String output= ” “;14 for (int i=2;i<=3 ;i++ )15 {
16 for(int j=1;j<=12;j++)17 {18 b = i*j;19 output += b+ ” “;20 }//end inside for21 output += ” \n “;22 }//end outside for2324 return output;25 } //end method multiply()2627 }//end class
การสง่ค่ากลับแบบบูลีน
เมธอดอีกชนิดหนึ่งท่ีพบมากในการเขยีนโปรแกรมคือ เมธอดท่ีมกีารสง่ค่ากลับแบบบูลีน โดยค่าท่ีสง่กลับมาจะมสีองค่าเท่านัน้ คือ จรงิ (true) กับเท็จ (false) ซึ่งจะได้คำาวา่ Boolean ท่ีสว่นหวั เมธอดลักษณะนี้มกัใชใ้นการตรวจสอบเง่ือนไขต่างๆ โดยสง่ขอ้มูลท่ีต้องการตรวจสอบเป็นอารกิ์วเมนต์เขา้ไป
ตัวอยา่งเชน่: ถ้าหากต้องการตรวจสอบวา่ตัวเลขที่กำาลังสนใจอยู ่เป็นตัวเลขในชว่ง 1 ถึง 100 หรอืไมจ่ะเขยีนเมธอดดัง้นี้
5.ตัวแปรแบบ Localตัวแปรท่ีประกาศใชใ้นเมธอดเรยีกวา่ตัวแปรแบบ
ท้องถ่ิน หรอืตัวแปรแบบโลคอล (local variable) โดยจะใชไ้ด้เฉพาะสเตตเมนต์ในเมธอดเท่านัน้ สเตตเมนต์ต่างๆท่ีอยูน่อกเมธอดท่ีประกาศตัวแปรนี้จะไมส่ามารถเรยีกใชตั้วแปรนี้ได้ การประการตัวแปรแบบโลคอลนี้ จะทำาใหเ้มธอดหลายๆเมธอดใชช้ื่อตัวแปรเดียวกันได้
แมตั้วแปรในเมธอดท่ีสรา้งขึ้นจะมชีื่อเดียวกัน โดยแต่ละเมธอดมกีารกำาหนดค่าใหกั้บตัวแปรเป็นค่าท่ีไม่เท่ากัน ถ้าสงัเกตจากผลลัพธจ์ะพบวา่ตัวแปรทัง้สองไม่เกี่ยวขอ้งกัน การประกาศตัวแปรแบบโลคอลนี้ เมื่อเมธอดถกูเรยีกใชม้นัจะสรา้งหน่วยความจำาขึ้นมาสำาหรบัเก็บตัวแปรนัน้ แต่เมื่อเมธอดทำางานเสรจ็สิน้ลงหน่วยความจำาสำาหรบัตัวแปรนัน้จะถกูยกเลิกไป
6.โอเวอรโ์หลดเมธอด (Overloading Method)
Method ประเภทนี้สามารถรบัค่าตัวแปร parameter ได้หลากหลายชนิด หลักการคือ ต้องสรา้ง Method ขึ้นมาใหมแ่ละใชช้ื่อ Method เดียวกัน ถ้าชนิดขอ้มูลของ Method ต่างกันและชนิดขอ้มูลของ parameter ต่างกัน ก็ต้องสรา้งชื่อ method นัน้ขึ้นมาใหมม่ปีระโยชน์ คือ ง่ายต่อการจำาชื่อ Method มขีอ้เสยีคือ ยุง่ยากในเรื่องของค่า Parameter
ท่ีมา :-H.M.Deital Deitel &Associates,Inc., P.J.Deitel Deitel&Associates,Inc, "
Java How to Program 4th", Prentice Hall,USA,2002 - http://www.netbeans.org/kb/50/index.html-http://java.sun.com/docs/books/tutorial/uiswing/index.html-http://java.sun.com/docs/books/tutorial/uiswing/components/components.html- http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html- http://java.sun.com/docs/books/tutorial/uiswing/TOC.html Help, Netbeans 5.0, 2006
สมาชกินายชยัวฒัน์ พลอยงาม เลขท่ี 2นายปิยเชษฐ ์ มคีวามเจรญิ เลขที่ 4 นายสริภพ สมัมาคณุ เลขที่ 5 นางสาวจุติมา ประชาฉาย เลขที่ 22นางสาวกัญณิฌา พรจดิาศิล เลขที่ 25นางสาวภิญาดา เพช็รชาลี เลขที่ 27นางสาวศิรพิร สำาราญวงษ์ เลขท่ี 28
ชัน้มธัยมศึกษาปีท่ี 6/1