SlideShare a Scribd company logo
1 of 21
Download to read offline
บทที 4

  เมธอด

(Methods)
หัหัข้ข้ อ (Topic)
                วว อ (Topic)

 4.1 การนิยามและเรี ยกใช้เมธอด (Definition and
                Call Method)

   4.2 ประเภทของเมธอด (Type of Method)

4.3 การใช้แมธคลาสเมธอด (Math class method)
•      วัวัตถุประสงค์กการเรีนรู้นรู้ (Learning Objective):
         ต ถุประสงค์ ารเรี ย ย (Learning Objective):


• 1. สามารถเขียน Syntax ของการนิยาม Method ได้
• 2. บอกความแตกต่างของ Method แต่ละประเภทได้
• 3. สามารถเขียนโปรแกรมโดยการใช้ ประโยชน์จาก Method ได้ อย่าง
  เหมาะสม
• 4. สามารถเขียนโปรแกรมในการรับส่งค่า Parameters ของ Method ได้
• 5. สามารถเขียนโปรแกรมโดยใช้ Math class method
•                 จากเนื *อหาในบทที+ผานมา เราได้ เรี ยนรู้เกี+ยวกับการใช้
                                     ่
    ชุดคําสังในการควบคุมโปรแกรม (Control Structure) ซึงเป็ น
            +                                                          +
    สิงจําเป็ นเสมอสําหรับภาษาเขียนโปรแกรมทุกภาษา นอกจากนี * การ
      +
    เขียนโปรแกรมภายในหนึงโปรแกรมนัน คุณอาจต้ องแยกส่วนงาน
                             +           *
    ภายในโปรแกรมของคุณออกเป็ นสัดส่วน เพื+อให้ ง่ายต่อการบริการ
    จัดการข้ อมูล คุณจะสามารถใช้ หรื อสร้ าง Method เพื+อจัดกลุม          ่
    ประเภทข้ อมูล หรื อกลุมของหน้ าที+งานได้ ตามความเหมาะสม
                           ่
4.1 การนิยยามและเรียกใช้ เเมธอด
            4.1 การนิ ามและเรี ยกใช้ มธอด
          (Definition and Call Method)
         (Definition   and Call Method)

•                ก่อนที#เราจะดู Syntax ในการใช้งาน Method เรามาทําความ
    รู ้จกกับความหมายของ Method กันก่อน
         ั
                 Method เป็ นระเบียบวิธีในการทํางาน โดยการจัดกลุ่มข้อมูล
    สร้างเป็ น Function ย่อยภายในโปรแกรมเพื#อง่ายต่อการบริ หารจัดการกลุ่ม
    ข้อมูล ซึ# งมีท3 ง Method ที#คุณสร้างขึ3นใช้งาน
                     ั
                                              ่
    แอง และ Method ที# Java นั3นมีอยูแล้ว รอเพียงการถูกเรี ยกใช้
• โดยปกติแล้วการเขียนโปรแกรมทางคอมพิวเตอร์มีจุดประสงค์เพื#อที#จะใช้โปรแกรม
• นั3นช่วยในการทํางานของคุณ ให้คุณสามารถทํางานได้สะดวกและง่ายขึ3น ดังนั3น
  โปรแกรมที#คุณเขียน จะใช้ในการแก้ปัญหาของระบบงานในปั จจุบนของคุณ และการ
                                                             ั
  เขียนโปรแกรมในโลกแห่งความเป็ นจริ งแล้วนั3น โปรแกรมมักมีขนาดใหญ่ มีความ
  ซับซ้อน มีจานวนบรรทัดของโปรแกรม (Line of code) จํานวนมาก ทําให้คุณ
                  ํ
    ่
  ยุงยากในการบริ หารจัดการชุดคําสัง หรื อโปรแกรมของคุณ ดังนั3นเพื#อให้โครงสร้าง
                                     #
  ของโปรแกรมมีขนาดเล็กลง เราสามารถใช้วธีการแบ่งโปรแกรม ใหญ่ ออกเป็ นงาน
                                            ิ
  ส่ วนย่อย ๆ เรี ยกว่า แบ่งเป็ น “modules” และนําหลาย ๆ modules นั3นมา
  ประกอบกันเป็ นโปรแกรมสําเร็ จพร้อมใช้ และสําหรับ Java นั3นถ้าพูด
  ถึง “Module” ไม่ได้หลายถึงเฉพาะการสร้าง Method ในโปรแกรมเท่านั3น
  จะยังหมายรวมถึง class อีกด้วย นันหมายความว่า ในหนึ#งโปรแกรมของคุณ
                                       #
  นอกจากจะสร้าง Method ซึ#งเปรี ยบเสมือน Function ย่อยภายในโปรแกรม
  แล้ว คุณยังสามารถสร้างได้หลาย ๆ คลาสในหนึ#งโปรแกรมอีกด้วย ดังนั3นคํา
  ว่า Module ใน Java จึงหมายถึง “Method and class”
• สําหรับ Java แล้ว คุณสามารถเขียนโปรแกรมโดยรวม
  เอา method และ class เข้าไว้ดวยกัน สามารถ
                                     ้
  ใช้ Method และ class อ้างอิงความสามารถของ API
  (Application Programming Interface) และ Java class
  library ได้ นอกจากนี3 Java ยังมี Java API ที#ได้
  เตรี ยมพร้อม classs และ method สําเร็ จรู ปหลากหลายชนิด พร้อมถูก
  เรี ยกใช้งาน ทั3งสนับสนุนงานด้านณิ ตศาสตร์ การจัดการ
  ข้อมูล String อักขระ จัดการ Input/Output การตรวจสอบ
  ข้อผิดพลาดและอื#น ๆ

       การนิยามเมธอด (Definition Method)
• การนิยามเมธอด (Definition Method)
       การนิยามเป็ นการสร้างตัวตน (Body) ของ Method เพือให้รู้
                                                           #
                                   ้          #       ่
  ว่า Method ชี3ชื#ออะไร บรรจุขอมูลและชุดคําสังอะไรอยูภายใน
  บ้าง สามารถสร้าง Method ได้ตาม Syntax ต่อไปนี3
Syntax:
Syntax:




   Accessibility return_data_type   methodName
 (parameter_list)
        { statement ;
                statement;}
เมื"อ " อ
    เมื
• - Accessibility                     คือ การระบุคํานําหน้ า Method ด้ วยคํา
  ว่า private, protect, public และ static เพื+อให้ ทราบว่า method นัน                *
  เป็ น method ชนิดใด
• - return_data_type                     คือ การระบุชนิดข้ อมูลที+จะใช้ ในการ return ค่า
  กลับของ method
• เช่น ข้ อมูลชนิด String ,int หรื อ double หาก method นันไม่ต้องการ      *
  ให้ return ค่ากลับ ให้ ระบุคํานําหน้ าด้ วย “void” แทนที+ชนิดข้ อมูล
• - methodName                         คือ ชื+อ method ที+เราตังขึ *น (ไม่ซํ *า
                                                                    *
  กับ Keyword)
• - parameter_list                     คือ ตัวแปรที+ใช้ ในการรับค่า ของ method นัน     *
  ๆ สามารถใช้ ตวแปรได้ หลายตัว โดยที+ตวแปร parameter นันไม่จําเป็ นต้ องใช้ ข้อมูล
                   ั                       ั                            *
  ชนิดเดียวกัน หรื อ method ที+คณสร้ างนันอาจไม่จําเป็ นต้ องใช้ ตว
                                  ุ           *                       ั
  แปร parameter ก็ได้
• - statement                            คือ ประโยคคําสัง +
  ภายใน body ของ method นัน ๆ       *
ตัวอย่ างเช่ น
public static void ann(int a) // หลังเครื+ องหมายวงเล็บ ( ) ไม่ใส่
เครื+ องหมาย (; )
      {
                  statement;
                      statement;
  }




 Note : การสร้ าง Method นันต้ องกระทํานอก body ของ main()
                           *
• การเรี ยกใช้ Method (Call Method)
   การเรี ยกใช้ Method (
                 เนื+องจากการสร้ าง method นันจะต้ องสร้ างไว้ ภายนอก
                                                   *
  body ของ method main() ซึงเป็ น method หลักในการเริ+ มทํางานของ
                                     +
  โปรแกรม ดังนันการเรี ยกใช้ method ที+สร้ างขึ *นจะต้ องถูกเรี ยกภายใน method
               *
  main() โดยใช้ syntax ดังนี *



                    รูปแบบ


                                   ชื+อ Method();
•4.2 ประเภทของเมธอด (Type of Method)
   4.2 ประเภทของเมธอด (T
              จําแนก method ใน Java ได้ 2 ประเภท ได้ แก่
   Method ที+สร้ างขึ *นมาเอง และ Method ที+มีอยูแล้ ว ซึงแต่ละ
                                                ่        +
   ประเภทมีลกษณะดังนี *
            ั



• 4.1.1 Method ที"ทีร้" สร้งขึงขึนมาเอง
   4.1.1 Method ส า า นมาเอง  + +
            สามารถจําแนก method ที+สร้ างขึ *นเอง ได้
  ประเภท 6 ประเภท ดังนี *
1. Method ไม่ รับและไม่ สส่งค่ า
 1. Method ไม่ รับและไม่ ่ งค่ า
                   เป็ น method ที+ไม่มีตวแปร parameter ดังนัน
                                           ั                   *
  ภายใน body ของ method ชนิดนี *จึงประกอบไป
  ด้ วย statement ที+ต้องการให้ ทํางานเท่านัน ขอยกตัวอย่างโปรแกรม
                                                  *
  ง่าย ๆ ที+ไม่มีความซับซ้ อนเพื+อง่ายต่อความเข้ าใจดังนี *

2. Method ที"มีการส่ งงค่าา
 2. Method การส่ ค่
         เป็ น method ที+ไม่มีตวแปร parameter แต่เมื+อสิ *นสุดการ
                               ั
 ทํางานของ method จะทําการ return กลับไปยัง method เมื+อ
 ถูกเรี ยกใช้ งาน
• 3. Method ทีที"มีทการรั บค่ าค่ าและส่า ค่ า
  3. Method " มีทัง งการรั บ และส่ งค่ ง
                      + ั+
            เป็ นโปรแกรม ที+มีการ เขียนค่าต่างๆเป็ นตัวเลข สามารถส่งเข้ าและ
  รับออกได้ เช่น โปรแกรมเครื+ องคิดเลข เป็ นต้ น

• 4.Overloading Method
  4.Overloading Method
                Method ประเภทนี *สามารถรับค่าตัวแปรparameterได้
  หลากหลายชนิด หลักการคือ ต้ องสร้ าง Method ขึ *นมาใหม่และใช้
  ชื+อ Method เดียวกัน ถ้ าชนิดข้ อมูลของ Method ต่างกันและ
  ชนิดข้ อมูลของ parameter ต่างกัน ก็ต้องสร้ างชื+อ method นัน     *
  ขึ *นมาใหม่ มีประโยชน์ คือ ง่ายต่อการจําชื+อ Method มีข้อเสียคือ
  ยุงยากในเรื+ องของค่า Parameter
     ่
• 5. Constructor Method
  5. 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
        *

  Note : Constructor Method จะใช้ ในการ Generate ค่าเริ+ มต้ น
    หรื อสิงที+ต้องการให้ เครื+ องทําครังแรกและครังเดียวเมื+อสัง Run โปรแกรม
           +                            *         *            +
•4.1.2 Method ที"มีอยู" มีอยู่แล้ ว
    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)
       4.3การใช้ แมธคลาสเมธอด (Math class method)


           การใช้ งาน methodที+อยูภายใน Math class จะ
                                     ่
  เป็ น Method ที+เกี+ยวข้ องกับการ คํานวณทางคณิตศาสตร์ ซึง
                                                          +
  method เหล่านี *จัดอยูในประเภท “Methodของ Class
                           ่
  Method)” ที+กล่าวมาในข้ างต้ น ซึงแสดงตัวอย่างของmethod
                                   +
  ในMath Classดังภาพหน้ าต่อไปนี *
• การสุ่มค่ าค่ าตัวเลข (Random-Number
   การสุ่ม ตัวเลข (Random-Number Generation)
                    นอกจากการใช้ method ข้ างต้ นของMath class
   แล้ ว คุณยังสามารถ random ค่าตัวเลขเพื+อให้ เครื+ องGenerate
   ค่าตัวเลขให้ โดยการใช้ method ของ math class ที+มีชื+อว่า
   “random”โดยมีรูปแบบการใช้ งานดังนี *
            Syntax :
                 double randomValue
            = Math.random();

เมื"อ
         randomValue หมายถึง ค่าตัวเลขที+ต้องการสุมและ
                                                     ่
   method random นี *จะrandomค่าตัวเลขให้ มีคาตังแต่ 0.0ขึ *นไป
                                             ่ *
บรรณานุกรม


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/com
ponents.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

More Related Content

What's hot

กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกNaphamas
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)Kroopop Su
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกPowerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกNaphamas
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอchupong roddee
 
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
 
บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมNookky Anapat
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2Iam Champooh
 
งานกลุ่มมคอม
งานกลุ่มมคอมงานกลุ่มมคอม
งานกลุ่มมคอมEdz Chatchawan
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาskiats
 
แบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานแบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานAmonrat Tabklang
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถามkruthanyaporn
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3Supicha Ploy
 
การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)Fair Kung Nattaput
 

What's hot (19)

กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)
 
Method
MethodMethod
Method
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกPowerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอ
 
งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2
 
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
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
 
บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรม
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
 
งานกลุ่มมคอม
งานกลุ่มมคอมงานกลุ่มมคอม
งานกลุ่มมคอม
 
ผังงาน
ผังงานผังงาน
ผังงาน
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
แบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานแบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงาน
 
Power point
Power pointPower point
Power point
 
METHODS
METHODSMETHODS
METHODS
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถาม
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
 
การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)
 

Similar to งานนำเสนอ1

Similar to งานนำเสนอ1 (20)

Chapter3
Chapter3Chapter3
Chapter3
 
เมธอด
เมธอดเมธอด
เมธอด
 
คำถามท้ายบท
คำถามท้ายบทคำถามท้ายบท
คำถามท้ายบท
 
Pbl2
Pbl2Pbl2
Pbl2
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
กระบวนการเทคโนโลยีสารสนเทศ
กระบวนการเทคโนโลยีสารสนเทศกระบวนการเทคโนโลยีสารสนเทศ
กระบวนการเทคโนโลยีสารสนเทศ
 
เมธอด
เมธอดเมธอด
เมธอด
 
เมธอด
เมธอดเมธอด
เมธอด
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศ
 
นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethods
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
4
44
4
 
ใบความรู้ที่ 4
ใบความรู้ที่ 4ใบความรู้ที่ 4
ใบความรู้ที่ 4
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
Sheet4
Sheet4Sheet4
Sheet4
 

งานนำเสนอ1

  • 1. บทที 4 เมธอด (Methods)
  • 2. หัหัข้ข้ อ (Topic) วว อ (Topic) 4.1 การนิยามและเรี ยกใช้เมธอด (Definition and Call Method) 4.2 ประเภทของเมธอด (Type of Method) 4.3 การใช้แมธคลาสเมธอด (Math class method)
  • 3. วัวัตถุประสงค์กการเรีนรู้นรู้ (Learning Objective): ต ถุประสงค์ ารเรี ย ย (Learning Objective): • 1. สามารถเขียน Syntax ของการนิยาม Method ได้ • 2. บอกความแตกต่างของ Method แต่ละประเภทได้ • 3. สามารถเขียนโปรแกรมโดยการใช้ ประโยชน์จาก Method ได้ อย่าง เหมาะสม • 4. สามารถเขียนโปรแกรมในการรับส่งค่า Parameters ของ Method ได้ • 5. สามารถเขียนโปรแกรมโดยใช้ Math class method
  • 4. จากเนื *อหาในบทที+ผานมา เราได้ เรี ยนรู้เกี+ยวกับการใช้ ่ ชุดคําสังในการควบคุมโปรแกรม (Control Structure) ซึงเป็ น + + สิงจําเป็ นเสมอสําหรับภาษาเขียนโปรแกรมทุกภาษา นอกจากนี * การ + เขียนโปรแกรมภายในหนึงโปรแกรมนัน คุณอาจต้ องแยกส่วนงาน + * ภายในโปรแกรมของคุณออกเป็ นสัดส่วน เพื+อให้ ง่ายต่อการบริการ จัดการข้ อมูล คุณจะสามารถใช้ หรื อสร้ าง Method เพื+อจัดกลุม ่ ประเภทข้ อมูล หรื อกลุมของหน้ าที+งานได้ ตามความเหมาะสม ่
  • 5. 4.1 การนิยยามและเรียกใช้ เเมธอด 4.1 การนิ ามและเรี ยกใช้ มธอด (Definition and Call Method) (Definition and Call Method) • ก่อนที#เราจะดู Syntax ในการใช้งาน Method เรามาทําความ รู ้จกกับความหมายของ Method กันก่อน ั Method เป็ นระเบียบวิธีในการทํางาน โดยการจัดกลุ่มข้อมูล สร้างเป็ น Function ย่อยภายในโปรแกรมเพื#อง่ายต่อการบริ หารจัดการกลุ่ม ข้อมูล ซึ# งมีท3 ง Method ที#คุณสร้างขึ3นใช้งาน ั ่ แอง และ Method ที# Java นั3นมีอยูแล้ว รอเพียงการถูกเรี ยกใช้
  • 6. • โดยปกติแล้วการเขียนโปรแกรมทางคอมพิวเตอร์มีจุดประสงค์เพื#อที#จะใช้โปรแกรม • นั3นช่วยในการทํางานของคุณ ให้คุณสามารถทํางานได้สะดวกและง่ายขึ3น ดังนั3น โปรแกรมที#คุณเขียน จะใช้ในการแก้ปัญหาของระบบงานในปั จจุบนของคุณ และการ ั เขียนโปรแกรมในโลกแห่งความเป็ นจริ งแล้วนั3น โปรแกรมมักมีขนาดใหญ่ มีความ ซับซ้อน มีจานวนบรรทัดของโปรแกรม (Line of code) จํานวนมาก ทําให้คุณ ํ ่ ยุงยากในการบริ หารจัดการชุดคําสัง หรื อโปรแกรมของคุณ ดังนั3นเพื#อให้โครงสร้าง # ของโปรแกรมมีขนาดเล็กลง เราสามารถใช้วธีการแบ่งโปรแกรม ใหญ่ ออกเป็ นงาน ิ ส่ วนย่อย ๆ เรี ยกว่า แบ่งเป็ น “modules” และนําหลาย ๆ modules นั3นมา ประกอบกันเป็ นโปรแกรมสําเร็ จพร้อมใช้ และสําหรับ Java นั3นถ้าพูด ถึง “Module” ไม่ได้หลายถึงเฉพาะการสร้าง Method ในโปรแกรมเท่านั3น จะยังหมายรวมถึง class อีกด้วย นันหมายความว่า ในหนึ#งโปรแกรมของคุณ # นอกจากจะสร้าง Method ซึ#งเปรี ยบเสมือน Function ย่อยภายในโปรแกรม แล้ว คุณยังสามารถสร้างได้หลาย ๆ คลาสในหนึ#งโปรแกรมอีกด้วย ดังนั3นคํา ว่า Module ใน Java จึงหมายถึง “Method and class”
  • 7. • สําหรับ Java แล้ว คุณสามารถเขียนโปรแกรมโดยรวม เอา method และ class เข้าไว้ดวยกัน สามารถ ้ ใช้ Method และ class อ้างอิงความสามารถของ API (Application Programming Interface) และ Java class library ได้ นอกจากนี3 Java ยังมี Java API ที#ได้ เตรี ยมพร้อม classs และ method สําเร็ จรู ปหลากหลายชนิด พร้อมถูก เรี ยกใช้งาน ทั3งสนับสนุนงานด้านณิ ตศาสตร์ การจัดการ ข้อมูล String อักขระ จัดการ Input/Output การตรวจสอบ ข้อผิดพลาดและอื#น ๆ การนิยามเมธอด (Definition Method) • การนิยามเมธอด (Definition Method) การนิยามเป็ นการสร้างตัวตน (Body) ของ Method เพือให้รู้ # ้ # ่ ว่า Method ชี3ชื#ออะไร บรรจุขอมูลและชุดคําสังอะไรอยูภายใน บ้าง สามารถสร้าง Method ได้ตาม Syntax ต่อไปนี3
  • 8. Syntax: Syntax: Accessibility return_data_type methodName (parameter_list) { statement ; statement;}
  • 9. เมื"อ " อ เมื • - Accessibility คือ การระบุคํานําหน้ า Method ด้ วยคํา ว่า private, protect, public และ static เพื+อให้ ทราบว่า method นัน * เป็ น method ชนิดใด • - return_data_type คือ การระบุชนิดข้ อมูลที+จะใช้ ในการ return ค่า กลับของ method • เช่น ข้ อมูลชนิด String ,int หรื อ double หาก method นันไม่ต้องการ * ให้ return ค่ากลับ ให้ ระบุคํานําหน้ าด้ วย “void” แทนที+ชนิดข้ อมูล • - methodName คือ ชื+อ method ที+เราตังขึ *น (ไม่ซํ *า * กับ Keyword) • - parameter_list คือ ตัวแปรที+ใช้ ในการรับค่า ของ method นัน * ๆ สามารถใช้ ตวแปรได้ หลายตัว โดยที+ตวแปร parameter นันไม่จําเป็ นต้ องใช้ ข้อมูล ั ั * ชนิดเดียวกัน หรื อ method ที+คณสร้ างนันอาจไม่จําเป็ นต้ องใช้ ตว ุ * ั แปร parameter ก็ได้ • - statement คือ ประโยคคําสัง + ภายใน body ของ method นัน ๆ *
  • 10. ตัวอย่ างเช่ น public static void ann(int a) // หลังเครื+ องหมายวงเล็บ ( ) ไม่ใส่ เครื+ องหมาย (; ) { statement; statement; } Note : การสร้ าง Method นันต้ องกระทํานอก body ของ main() *
  • 11. • การเรี ยกใช้ Method (Call Method) การเรี ยกใช้ Method ( เนื+องจากการสร้ าง method นันจะต้ องสร้ างไว้ ภายนอก * body ของ method main() ซึงเป็ น method หลักในการเริ+ มทํางานของ + โปรแกรม ดังนันการเรี ยกใช้ method ที+สร้ างขึ *นจะต้ องถูกเรี ยกภายใน method * main() โดยใช้ syntax ดังนี * รูปแบบ ชื+อ Method();
  • 12. •4.2 ประเภทของเมธอด (Type of Method) 4.2 ประเภทของเมธอด (T จําแนก method ใน Java ได้ 2 ประเภท ได้ แก่ Method ที+สร้ างขึ *นมาเอง และ Method ที+มีอยูแล้ ว ซึงแต่ละ ่ + ประเภทมีลกษณะดังนี * ั • 4.1.1 Method ที"ทีร้" สร้งขึงขึนมาเอง 4.1.1 Method ส า า นมาเอง + + สามารถจําแนก method ที+สร้ างขึ *นเอง ได้ ประเภท 6 ประเภท ดังนี *
  • 13. 1. Method ไม่ รับและไม่ สส่งค่ า 1. Method ไม่ รับและไม่ ่ งค่ า เป็ น method ที+ไม่มีตวแปร parameter ดังนัน ั * ภายใน body ของ method ชนิดนี *จึงประกอบไป ด้ วย statement ที+ต้องการให้ ทํางานเท่านัน ขอยกตัวอย่างโปรแกรม * ง่าย ๆ ที+ไม่มีความซับซ้ อนเพื+อง่ายต่อความเข้ าใจดังนี * 2. Method ที"มีการส่ งงค่าา 2. Method การส่ ค่ เป็ น method ที+ไม่มีตวแปร parameter แต่เมื+อสิ *นสุดการ ั ทํางานของ method จะทําการ return กลับไปยัง method เมื+อ ถูกเรี ยกใช้ งาน
  • 14. • 3. Method ทีที"มีทการรั บค่ าค่ าและส่า ค่ า 3. Method " มีทัง งการรั บ และส่ งค่ ง + ั+ เป็ นโปรแกรม ที+มีการ เขียนค่าต่างๆเป็ นตัวเลข สามารถส่งเข้ าและ รับออกได้ เช่น โปรแกรมเครื+ องคิดเลข เป็ นต้ น • 4.Overloading Method 4.Overloading Method Method ประเภทนี *สามารถรับค่าตัวแปรparameterได้ หลากหลายชนิด หลักการคือ ต้ องสร้ าง Method ขึ *นมาใหม่และใช้ ชื+อ Method เดียวกัน ถ้ าชนิดข้ อมูลของ Method ต่างกันและ ชนิดข้ อมูลของ parameter ต่างกัน ก็ต้องสร้ างชื+อ method นัน * ขึ *นมาใหม่ มีประโยชน์ คือ ง่ายต่อการจําชื+อ Method มีข้อเสียคือ ยุงยากในเรื+ องของค่า Parameter ่
  • 15. • 5. Constructor Method 5. 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 * Note : Constructor Method จะใช้ ในการ Generate ค่าเริ+ มต้ น หรื อสิงที+ต้องการให้ เครื+ องทําครังแรกและครังเดียวเมื+อสัง Run โปรแกรม + * * +
  • 16. •4.1.2 Method ที"มีอยู" มีอยู่แล้ ว 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 *
  • 17. • Syntax : การใช้ Object เข้ าถึง Method ให้ เชื+อมด้ วย เครื+ องหมาย ( . )
  • 18. • 4.3การใช้ แมธคลาสเมธอด (Math class method) 4.3การใช้ แมธคลาสเมธอด (Math class method) การใช้ งาน methodที+อยูภายใน Math class จะ ่ เป็ น Method ที+เกี+ยวข้ องกับการ คํานวณทางคณิตศาสตร์ ซึง + method เหล่านี *จัดอยูในประเภท “Methodของ Class ่ Method)” ที+กล่าวมาในข้ างต้ น ซึงแสดงตัวอย่างของmethod + ในMath Classดังภาพหน้ าต่อไปนี *
  • 19.
  • 20. • การสุ่มค่ าค่ าตัวเลข (Random-Number การสุ่ม ตัวเลข (Random-Number Generation) นอกจากการใช้ method ข้ างต้ นของMath class แล้ ว คุณยังสามารถ random ค่าตัวเลขเพื+อให้ เครื+ องGenerate ค่าตัวเลขให้ โดยการใช้ method ของ math class ที+มีชื+อว่า “random”โดยมีรูปแบบการใช้ งานดังนี * Syntax : double randomValue = Math.random(); เมื"อ randomValue หมายถึง ค่าตัวเลขที+ต้องการสุมและ ่ method random นี *จะrandomค่าตัวเลขให้ มีคาตังแต่ 0.0ขึ *นไป ่ *