สมาชิกในกลุ่ม
1. นายบุญส่ง สุระเสียง เลขที่ 15
2. นายปฏิพล ชนประเสริฐ เลขที่ 16
3. นางสาวปรมาภรณ์ เขียวอิ่ม เลขที่ 21
4. นางสาวเฉลิมพร สุขเกษม เลขที่ 23
5. นางสาวนภาพร ลีลาส เลขที่ 24
6. นางสาวสุทธาทิพย์ พุ่มทอง เลขที่ 26
7. นางสาวปัทมาพร ลาเภา เลขที่ 35
ชั้นมัธยมศึกษาปีที่ 6/3
METHOD คืออะไร
เมธอด (Method) คือ ความสามารถในการทางานของออบเจ็กต์ มันถูกสร้างขึ้นมา
พร้อมกับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจากคลาสเดียวกันก็จะมีรายการของเมธอด
ต่างๆ เหมือนกัน
การที่ออบเจ็กต์มีเมธอดจะช่วยให้ผู้ใช้งาน ไม่ต้องกังวล หรือไม่ต้องสนใจว่า จะมีวิธีการ
ทางานภายในเมธอดเป็นอย่างไร สนใจเพียงแค่ใช้งานอย่างไร ช่วยให้เมธอดที่มีไม่ถูกยุ่งย่าม
ก้าวก่ายโดยไม่จาเป็น
โครงสร้างทั่วไปของ METHOD
จากโครงสร้างจะเห็นว่าโปรแกรมหนึ่ง
อาจมีหลาย Class และในหนึ่ง Class จะมี
กี่ Method ก็ได้แต่ใน Class หลัก
(Class ที่มี public นาหน้า) จะต้องมี
main Method เสมอ
ที่มาภาพ : https://boonngeonprapasson.wordpress.com
ประเภทของเมธอด
ประเภทที่ 1 : static method เป็น
เมธอดที่เรียกใช้ตัวแปรได้ทันที ไม่ต้องมีการ
สร้างออบเจ็กต์ขึ้นมาเพื่อเรียกใช้ตัวแปร เช่น
การคานวณทางคณิตศาสตร์ ซึ่ง static
method จะรับค่าที่ผู้ใช้ต้องการคานวณ
และทาการคานวณ แล้วส่งผลลัพธ์กลับไปยัง
ผู้ใช้
ประเภทที่ 2 :instance
method เป็นเมธอดทั่วๆ ไปที่สร้าง
ขึ้นมาใช้กันบ่อยๆ เมธอดแบบนี้จะไม่มี
คาว่า static อยู่ข้างหน้าตัวแปร เมื่อ
จะเรียกใช้method ประเภทนี้
จะต้องมีการสร้างออบเจ็กต์ขึ้นมา
ประเภทที่ 3 : constructor
method / constructor คือ
เมธอดที่มีชื่อเดียวกับคลาส ซึ่งเมื่อ
ออบเจ็กต์ใดๆ ถูกสร้างขึ้นมาจากคลาส
แล้ว เมธอดนี้จะเริ่มทางานทันทีเป็นเมธ
อดแรก (ปกติมักจะใช้กาหนดค่าเริ่มต้น
ของการทางาน)
ประเภทที่ 4 : Overloading
method คือ เมธอดหลายเมธอดที่มีชื่อ
เดียวกัน แต่มีชนิดของตัวแปรต่างชนิดกัน หรือ
จานวนอาร์กิวเมนต์ไม่เท่ากัน เพราะงานบางงาน
อาจใช้ชื่องานเดียวกัน แต่ต้องมีการแยกแยะว่า มี
การส่งค่าตัวแปรชนิดใดมา เช่น ถ้าส่งค่าตัวแปร
มาเป็น Integer ก็ให้ทางานในเมธอดหนึ่ง ถ้า
ส่งมาเป็น String ก็ให้ทางานในอีกเมธอด
หนึ่ง
ประเภทที่ 5 : Overriding method
คือ เมธอดหลายเมธอดที่มีชื่อเดียวกัน ชนิดของตัว
แปรเหมือนกัน แต่เขียนโปรแกรมในลักษณะที่
เมธอดหนึ่งอยู่ในคลาสแม่ อีกเมธอดหนึ่งอยู่ใน
คลาสลูก ซึ่งเมื่อมีเมธอดชื่อซ้ากัน รับค่าของตัว
แปรเหมือนกันปรากฏในคลาสลูกโปรแกรมจะ
ทางานตามคาสั่งในคลาสลูกโดยอัตโนมัติ
แนะนาคลาส MATH และเมธอดทางคณิตศาสตร์
การใช้งาน method ที่อยู่ภายใน
Math class จะเป็น Method ที่
เกี่ยวข้องกับการคานวณทางคณิตศาสตร์ ซึ่ง
method เหล่านี้จัดอยู่ในประเภท
“Method ของ Class (Class
Method)” ที่กล่าวมาในข้างต้น ซึ่งแสดง
ตัวอย่างของ method ใน Math Class
ดังภาพ
ตัวอย่างโปรแกรม : การใช้ METHOD
ของ MATH CLASS
OUTPUT:
การส่งค่าอาร์กิวเมนต์ของเมธอด
เราสามารถสร้างเมท็อดที่มีการรับค่าจากผู้เรียกเพื่อ
กาหนดพฤติกรรมการทางานของเมท็อดนั้น ๆ ค่าที่ถูก
ส่งไปนี้เรียกว่า อาร์กิวเมนต์ (argument) ส่วนเมท็อด
ที่ถูกเรียกจะรับค่าเหล่านี้ผ่านมาทางพารามิเตอร์
(parameter) ซึ่งถูกนิยามไว้ในส่วน
parameter_list ของการประกาศเมท็อด เมท็อดแต่
ละอันสามารถถูกประกาศให้มีพารามิเตอร์ได้ตั้งแต่ศูนย์ตัว
หรือมากกว่า โดยพารามิเตอร์แต่ละตัวจะต้องมีรูปแบบ
ข้อมูลกากับไว้เสมอ และอาร์กิวเมนต์ที่ใช้ในขณะเรียกใช้
งานเมท็อดจะต้องมีรูปแบบข้อมูลที่ตรงกัน
เมธอดที่มีการส่งค่ากลับ
เป็น method ที่ไม่มีตัวแปร parameter แต่เมื่อสิ้นสุดการทางานของ
method จะทาการ return กลับไปยัง method เมื่อถูกเรียกใช้งาน
ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่ 2-3
การส่งค่ากลับแบบบูลีน
เมธอดอีกชนิดหนึ่งที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับแบบบูลีน โดยค่าที่ส่งกลับมาจะมีสอง
ค่าเท่านั้น คือ จริง (true) กับเท็จ (false) ซึ่งจะได้คาว่า Boolean ที่ส่วนหัว เมธอดลักษณะนี้มักใช้ในการตรวจสอบ
เงื่อนไขต่างๆ โดยส่งข้อมูลที่ต้องการตรวจสอบเป็นอาร์กิวเมนต์เข้าไป
ตัวอย่างเช่น : ถ้าหากต้องการตรวจสอบว่าตัวเลขที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง 1 ถึง 100 หรือไม่จะเขียนเมธอดดั้งนี้
ตัวแปรแบบ LOCAL
ตัวแปรที่ประกาศใช้ในเมธอดเรียกว่าตัวแปรแบบท้องถิ่น หรือตัวแปรแบบโลคอล (local
variable) โดยจะใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตตเมนต์ต่างๆที่อยู่นอกเมธอดที่
ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้การประการตัวแปรแบบโลคอลนี้ จะทาให้เมธอด
หลายๆเมธอดใช้ชื่อตัวแปรเดียวกันได้
แม้ตัวแปรในเมธอดที่สร้างขึ้นจะมีชื่อเดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็น
ค่าที่ไม่เท่ากัน ถ้าสังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปรแบบโล
คอลนี้ เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัวแปรนั้น แต่เมื่อเมธอด
ทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูกยกเลิกไป
โอเวอร์โหลดเมธอด (OVERLOADING METHOD)
Method ประเภทนี้สามารถรับค่าตัวแปร parameter ได้หลากหลายชนิด
หลักการคือ ต้องสร้าง Method ขึ้นมาใหม่และใช้ชื่อ Method เดียวกัน ถ้าชนิด
ข้อมูลของ Method ต่างกันและชนิดข้อมูลของ parameter ต่างกัน ก็ต้องสร้างชื่อ
method นั้นขึ้นมาใหม่มีประโยชน์ คือ ง่ายต่อการจาชื่อMethod มีข้อเสียคือ ยุ่งยาก
ในเรื่องของค่า Parameter
เมธอด

เมธอด

  • 1.
    สมาชิกในกลุ่ม 1. นายบุญส่ง สุระเสียงเลขที่ 15 2. นายปฏิพล ชนประเสริฐ เลขที่ 16 3. นางสาวปรมาภรณ์ เขียวอิ่ม เลขที่ 21 4. นางสาวเฉลิมพร สุขเกษม เลขที่ 23 5. นางสาวนภาพร ลีลาส เลขที่ 24 6. นางสาวสุทธาทิพย์ พุ่มทอง เลขที่ 26 7. นางสาวปัทมาพร ลาเภา เลขที่ 35 ชั้นมัธยมศึกษาปีที่ 6/3
  • 3.
    METHOD คืออะไร เมธอด (Method)คือ ความสามารถในการทางานของออบเจ็กต์ มันถูกสร้างขึ้นมา พร้อมกับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจากคลาสเดียวกันก็จะมีรายการของเมธอด ต่างๆ เหมือนกัน การที่ออบเจ็กต์มีเมธอดจะช่วยให้ผู้ใช้งาน ไม่ต้องกังวล หรือไม่ต้องสนใจว่า จะมีวิธีการ ทางานภายในเมธอดเป็นอย่างไร สนใจเพียงแค่ใช้งานอย่างไร ช่วยให้เมธอดที่มีไม่ถูกยุ่งย่าม ก้าวก่ายโดยไม่จาเป็น
  • 4.
    โครงสร้างทั่วไปของ METHOD จากโครงสร้างจะเห็นว่าโปรแกรมหนึ่ง อาจมีหลาย Classและในหนึ่ง Class จะมี กี่ Method ก็ได้แต่ใน Class หลัก (Class ที่มี public นาหน้า) จะต้องมี main Method เสมอ ที่มาภาพ : https://boonngeonprapasson.wordpress.com
  • 5.
    ประเภทของเมธอด ประเภทที่ 1 :static method เป็น เมธอดที่เรียกใช้ตัวแปรได้ทันที ไม่ต้องมีการ สร้างออบเจ็กต์ขึ้นมาเพื่อเรียกใช้ตัวแปร เช่น การคานวณทางคณิตศาสตร์ ซึ่ง static method จะรับค่าที่ผู้ใช้ต้องการคานวณ และทาการคานวณ แล้วส่งผลลัพธ์กลับไปยัง ผู้ใช้
  • 6.
    ประเภทที่ 2 :instance methodเป็นเมธอดทั่วๆ ไปที่สร้าง ขึ้นมาใช้กันบ่อยๆ เมธอดแบบนี้จะไม่มี คาว่า static อยู่ข้างหน้าตัวแปร เมื่อ จะเรียกใช้method ประเภทนี้ จะต้องมีการสร้างออบเจ็กต์ขึ้นมา
  • 7.
    ประเภทที่ 3 :constructor method / constructor คือ เมธอดที่มีชื่อเดียวกับคลาส ซึ่งเมื่อ ออบเจ็กต์ใดๆ ถูกสร้างขึ้นมาจากคลาส แล้ว เมธอดนี้จะเริ่มทางานทันทีเป็นเมธ อดแรก (ปกติมักจะใช้กาหนดค่าเริ่มต้น ของการทางาน)
  • 8.
    ประเภทที่ 4 :Overloading method คือ เมธอดหลายเมธอดที่มีชื่อ เดียวกัน แต่มีชนิดของตัวแปรต่างชนิดกัน หรือ จานวนอาร์กิวเมนต์ไม่เท่ากัน เพราะงานบางงาน อาจใช้ชื่องานเดียวกัน แต่ต้องมีการแยกแยะว่า มี การส่งค่าตัวแปรชนิดใดมา เช่น ถ้าส่งค่าตัวแปร มาเป็น Integer ก็ให้ทางานในเมธอดหนึ่ง ถ้า ส่งมาเป็น String ก็ให้ทางานในอีกเมธอด หนึ่ง
  • 9.
    ประเภทที่ 5 :Overriding method คือ เมธอดหลายเมธอดที่มีชื่อเดียวกัน ชนิดของตัว แปรเหมือนกัน แต่เขียนโปรแกรมในลักษณะที่ เมธอดหนึ่งอยู่ในคลาสแม่ อีกเมธอดหนึ่งอยู่ใน คลาสลูก ซึ่งเมื่อมีเมธอดชื่อซ้ากัน รับค่าของตัว แปรเหมือนกันปรากฏในคลาสลูกโปรแกรมจะ ทางานตามคาสั่งในคลาสลูกโดยอัตโนมัติ
  • 10.
    แนะนาคลาส MATH และเมธอดทางคณิตศาสตร์ การใช้งานmethod ที่อยู่ภายใน Math class จะเป็น Method ที่ เกี่ยวข้องกับการคานวณทางคณิตศาสตร์ ซึ่ง method เหล่านี้จัดอยู่ในประเภท “Method ของ Class (Class Method)” ที่กล่าวมาในข้างต้น ซึ่งแสดง ตัวอย่างของ method ใน Math Class ดังภาพ
  • 11.
  • 12.
    การส่งค่าอาร์กิวเมนต์ของเมธอด เราสามารถสร้างเมท็อดที่มีการรับค่าจากผู้เรียกเพื่อ กาหนดพฤติกรรมการทางานของเมท็อดนั้น ๆ ค่าที่ถูก ส่งไปนี้เรียกว่าอาร์กิวเมนต์ (argument) ส่วนเมท็อด ที่ถูกเรียกจะรับค่าเหล่านี้ผ่านมาทางพารามิเตอร์ (parameter) ซึ่งถูกนิยามไว้ในส่วน parameter_list ของการประกาศเมท็อด เมท็อดแต่ ละอันสามารถถูกประกาศให้มีพารามิเตอร์ได้ตั้งแต่ศูนย์ตัว หรือมากกว่า โดยพารามิเตอร์แต่ละตัวจะต้องมีรูปแบบ ข้อมูลกากับไว้เสมอ และอาร์กิวเมนต์ที่ใช้ในขณะเรียกใช้ งานเมท็อดจะต้องมีรูปแบบข้อมูลที่ตรงกัน
  • 13.
    เมธอดที่มีการส่งค่ากลับ เป็น method ที่ไม่มีตัวแปรparameter แต่เมื่อสิ้นสุดการทางานของ method จะทาการ return กลับไปยัง method เมื่อถูกเรียกใช้งาน ตัวอย่างโปรแกรม : การ return ค่าตัวแปรเพื่อแสดงผลสูตรคูณแม่ 2-3
  • 14.
    การส่งค่ากลับแบบบูลีน เมธอดอีกชนิดหนึ่งที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับแบบบูลีน โดยค่าที่ส่งกลับมาจะมีสอง ค่าเท่านั้นคือ จริง (true) กับเท็จ (false) ซึ่งจะได้คาว่า Boolean ที่ส่วนหัว เมธอดลักษณะนี้มักใช้ในการตรวจสอบ เงื่อนไขต่างๆ โดยส่งข้อมูลที่ต้องการตรวจสอบเป็นอาร์กิวเมนต์เข้าไป ตัวอย่างเช่น : ถ้าหากต้องการตรวจสอบว่าตัวเลขที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง 1 ถึง 100 หรือไม่จะเขียนเมธอดดั้งนี้
  • 15.
    ตัวแปรแบบ LOCAL ตัวแปรที่ประกาศใช้ในเมธอดเรียกว่าตัวแปรแบบท้องถิ่น หรือตัวแปรแบบโลคอล(local variable) โดยจะใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตตเมนต์ต่างๆที่อยู่นอกเมธอดที่ ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้การประการตัวแปรแบบโลคอลนี้ จะทาให้เมธอด หลายๆเมธอดใช้ชื่อตัวแปรเดียวกันได้ แม้ตัวแปรในเมธอดที่สร้างขึ้นจะมีชื่อเดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็น ค่าที่ไม่เท่ากัน ถ้าสังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปรแบบโล คอลนี้ เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัวแปรนั้น แต่เมื่อเมธอด ทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูกยกเลิกไป
  • 16.
    โอเวอร์โหลดเมธอด (OVERLOADING METHOD) Methodประเภทนี้สามารถรับค่าตัวแปร parameter ได้หลากหลายชนิด หลักการคือ ต้องสร้าง Method ขึ้นมาใหม่และใช้ชื่อ Method เดียวกัน ถ้าชนิด ข้อมูลของ Method ต่างกันและชนิดข้อมูลของ parameter ต่างกัน ก็ต้องสร้างชื่อ method นั้นขึ้นมาใหม่มีประโยชน์ คือ ง่ายต่อการจาชื่อMethod มีข้อเสียคือ ยุ่งยาก ในเรื่องของค่า Parameter