Top Banner
METHODS
22

เมธอด กลุ่ม3

Apr 15, 2017

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: เมธอด กลุ่ม3

METHODS

Page 2: เมธอด กลุ่ม3

Method คืออะไรmethod ก็คือระเบยีบวธิี

ในการทำางาน ซึ่งเป็นกลุ่มการทำางานของขอ้มูล เป็นสว่นยอ่ยภายในโปรแกรม เพื่อใหง่้ายต่อการจดัการกลุ่มขอ้มูล method มทัีง้ท่ีสรา้งขึ้นเอง และมใีห้บรกิารจาก java รอเพยีงการถกูเรยีกใชเ้ท่านัน้

Page 3: เมธอด กลุ่ม3

1.โครงสรา้งท่ัวไปของ Method

จากโครงสรา้งจะเหน็วา่โปรแกรมหนึ่งอาจมหีลาย Class และในหน่ึง Class จะมีก่ี Method ก็ได้แต่ใน Class หลัก (Class ท่ีม ีpublic นำาหน้า) จะต้องม ีmain Method เสมอ

Page 4: เมธอด กลุ่ม3

รูปแบบModifier Return_Type Method Name (parameter_list)

{ ชุดคำาสัง่หรอืสเตตเมนต์ต่างๆ return ( ตัวแปร หรอืขอ้มูล); }

Page 5: เมธอด กลุ่ม3

-Method modifiers เป็นสว่นท่ีบอกวา่เมธอดนี้สามารถเรยีกใชไ้ด้ในระดับใด จะประกอบด้วยpublic stati

-Return_ Type สว่นนี้จะบอกวา่เมื่อเมธอดนี้ถกูเรยีกใชแ้ละจะมกีารสงค่ากลับมาหรอืไม ่ถ้ามจีะสง่กลับเป็นขอ้มูลประเภทใด ถ้าไมม่สีง่ค่ากลับจะใชค้ำาวา่ void

-MethodName เป็นชื่อของเมธอดparameter เป็นตัวแปรที่ใชส้ง่ขอ้มูลเขา้ไปในเมธอดถ้ามหีลายตัวแปรจะใช้เครื่องหมาย (;)คัน่ระหวา่งตัวแปร

-return เป็นสว่นท่ีใชส้ง่ค้ากลับใหกั้บชื่อเมธอด

Page 6: เมธอด กลุ่ม3

ประเภทของ MethodJava แบง่ Method ออกเป็น

2 ประเภท ได้แก่1. Method ท่ีสรา้งขึ้นเอง โดยผู้เขยีนจะเขยีน Method ต่างๆ ใชเ้องตามต้องการ Method ท่ีสรา้งขึ้นมาเองนี้ อาจเป็น Method ท่ีอยูใ่น Class เดียวกัน หรอืต่าง Class กันก็ได้

2. Method  ชนิดนีมอียูแ่ล้วใน class library  พรอ้มถกูเรยีกใชง้าน แต่จะแยกเป็น Method  ของ Class   และ   Method ของ Object

Page 7: เมธอด กลุ่ม3

 การเรยีกใช ้Method   (Call Method)

เนื่องจากการสรา้ง method  นัน้จะต้องสรา้งไวภ้ายนอก body ของ  method main()  ซึ่งเป็น method หลักในการเริม่ทำางานของโปรแกรม  ดังนัน้การเรยีกใช ้method  ที่สรา้งขึ้นจะต้องถกูเรยีกภายใน method main()   โดยใชs้yntax ดังนี้

1. ในกรณีที่เป็น static method หรอื เมธอดที่ไมจ่ำาเป็นต้องสรา้งวตัถมุาเรยีกใช ้จะมีรูปแบบการเรยีกใชเ้มธอดดังน้ี

Page 8: เมธอด กลุ่ม3

ชื่อ 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

Page 9: เมธอด กลุ่ม3

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

Page 10: เมธอด กลุ่ม3

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

Page 11: เมธอด กลุ่ม3

ตัวอยา่งของ method ใน Math Class ดังภาพด้านล่างนี้

Page 12: เมธอด กลุ่ม3

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

Page 13: เมธอด กลุ่ม3

ในการเขยีนโปรแกรมสิง่ท่ีจำาเป็นต้องพจิารณาคือ Parameter และ Argument โดยท่ี ค่าท่ี class หรอืวตัถนัุน้เก็บเพื่อสง่ต่อใหกั้บ Method นัน้คือ Argument สิง่ท่ี Method นัน้เก็บจะเรยีกวา่ Parameterซึ่งการใชง้านแบบนี้จะเรยีกวา่ Pass by value   จากโปรแกรมท่ีผ่านมาจะเหน็ได้วา่ Argument คือ 10 และ 1 สว่น Parameter คือ a และ b

Page 14: เมธอด กลุ่ม3

4.เมธอดท่ีมกีารสง่ค่ากลับเป็น method ท่ีไมม่ตัีวแปร   parameter  

แต่เมื่อสิน้สดุการทำางานของ method จะทำาการ return กลับไปยงั method  เมื่อถกูเรยีกใชง้าน ขา้งหน้าชื่อเมธอดจะไมม่คีำาวา่ void แต่มชีนิดของ dataType ท่ีต้องการคืนค่ากลับ และภายในเมธอดจะมคีำาวา่ returnตัวอยา่งโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสตูรคณูแม ่2-3

Page 15: เมธอด กลุ่ม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 {

Page 16: เมธอด กลุ่ม3

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

Page 17: เมธอด กลุ่ม3

การสง่ค่ากลับแบบบูลีน

เมธอดอีกชนิดหนึ่งท่ีพบมากในการเขยีนโปรแกรมคือ เมธอดท่ีมกีารสง่ค่ากลับแบบบูลีน  โดยค่าท่ีสง่กลับมาจะมสีองค่าเท่านัน้ คือ จรงิ (true) กับเท็จ (false) ซึ่งจะได้คำาวา่ Boolean ท่ีสว่นหวั เมธอดลักษณะนี้มกัใชใ้นการตรวจสอบเง่ือนไขต่างๆ โดยสง่ขอ้มูลท่ีต้องการตรวจสอบเป็นอารกิ์วเมนต์เขา้ไป

Page 18: เมธอด กลุ่ม3

ตัวอยา่งเชน่: ถ้าหากต้องการตรวจสอบวา่ตัวเลขที่กำาลังสนใจอยู ่เป็นตัวเลขในชว่ง 1 ถึง 100 หรอืไมจ่ะเขยีนเมธอดดัง้นี้

Page 19: เมธอด กลุ่ม3

5.ตัวแปรแบบ Localตัวแปรท่ีประกาศใชใ้นเมธอดเรยีกวา่ตัวแปรแบบ

ท้องถ่ิน หรอืตัวแปรแบบโลคอล (local variable) โดยจะใชไ้ด้เฉพาะสเตตเมนต์ในเมธอดเท่านัน้ สเตตเมนต์ต่างๆท่ีอยูน่อกเมธอดท่ีประกาศตัวแปรนี้จะไมส่ามารถเรยีกใชตั้วแปรนี้ได้ การประการตัวแปรแบบโลคอลนี้ จะทำาใหเ้มธอดหลายๆเมธอดใชช้ื่อตัวแปรเดียวกันได้

แมตั้วแปรในเมธอดท่ีสรา้งขึ้นจะมชีื่อเดียวกัน โดยแต่ละเมธอดมกีารกำาหนดค่าใหกั้บตัวแปรเป็นค่าท่ีไม่เท่ากัน ถ้าสงัเกตจากผลลัพธจ์ะพบวา่ตัวแปรทัง้สองไม่เกี่ยวขอ้งกัน การประกาศตัวแปรแบบโลคอลนี้ เมื่อเมธอดถกูเรยีกใชม้นัจะสรา้งหน่วยความจำาขึ้นมาสำาหรบัเก็บตัวแปรนัน้ แต่เมื่อเมธอดทำางานเสรจ็สิน้ลงหน่วยความจำาสำาหรบัตัวแปรนัน้จะถกูยกเลิกไป

Page 20: เมธอด กลุ่ม3

6.โอเวอรโ์หลดเมธอด (Overloading Method)

Method   ประเภทนี้สามารถรบัค่าตัวแปร parameter  ได้หลากหลายชนิด หลักการคือ ต้องสรา้ง Method ขึ้นมาใหมแ่ละใชช้ื่อ Method เดียวกัน    ถ้าชนิดขอ้มูลของ  Method ต่างกันและชนิดขอ้มูลของ parameter  ต่างกัน  ก็ต้องสรา้งชื่อ method นัน้ขึ้นมาใหมม่ปีระโยชน์ คือ ง่ายต่อการจำาชื่อ Method   มขีอ้เสยีคือ ยุง่ยากในเรื่องของค่า Parameter

Page 21: เมธอด กลุ่ม3

ท่ีมา :-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

Page 22: เมธอด กลุ่ม3

สมาชกินายชยัวฒัน์ พลอยงาม เลขท่ี 2นายปิยเชษฐ ์ มคีวามเจรญิ เลขที่ 4 นายสริภพ สมัมาคณุ เลขที่ 5 นางสาวจุติมา ประชาฉาย เลขที่ 22นางสาวกัญณิฌา พรจดิาศิล เลขที่ 25นางสาวภิญาดา เพช็รชาลี เลขที่ 27นางสาวศิรพิร สำาราญวงษ์ เลขท่ี 28

ชัน้มธัยมศึกษาปีท่ี 6/1