ในตอนที่ผ่านมา เราได้เรียนรู้ว่า การสร้างเมธอดแบบพื้นฐานจะมี 4 แบบ หลัก ๆ คือ
1. เมธอด ไม่รับค่า และ ไม่คืนค่า
2. เมธอด ไม่รับค่า แต่ คืนค่า
3. เมธอด รับค่า และ คืนค่า
4. เมธอด รับค่า แต่ ไม่คืนค่า
เราจะมาลงรายละเอียดในแต่ละหัวข้อกันค่ะ
เมธอด ไม่รับค่า และ ไม่คืนค่า
สมมติว่า เรามีคลาส Users ดังภาพที่ 1
ภาพที่ 1 ประกาศตัวแปร
และเราต้องการสร้างเมธอด ที่ เรียกใช้งานแล้ว ให้แสดงผลรายละเอียดในตัวแปร ออกมา เราสามารถสร้างเมธอดแบบ ไม่รับค่า และไม่คืนค่าใด ๆ ได้ ดังภาพที่ 2
ภาพที่ 2 เมธอด ไม่รับค่า และไม่คืนค่า
เมธอดที่ไม่ระบุอะไรในวงเล็บ ( ) หมายถึง ไม่มีการรับค่าใด ๆ เข้ามา
และการระบุ void ไว้ที่หัวเมธอด คือการบอกว่า เมธอด ไม่มีการคืนค่าใด ๆ
ภาพที่ 3 แสดงคำอธิบาย
เมื่อเราสร้างออบเจ็กต์จากคลาส Users ขึ้นมา และเรียกใชเ้มธอด show()
ภาพที่ 4 สร้างออบเจ็กต์ ทดสอบเมธอด
กด F6 เพื่อสั่ง Run โปรแกรม เราก็จะได้ผลลัพธ์ออกมาที่ Output ของโปรแกรม
ภาพที่ 5 แสดงผลลัพธ์
เมธอด ไม่รับค่า แต่ คืนค่า
หากเราต้องการค่าอะไรบางอย่างกลับมาจากการเรียกใช้เมธอด เราต้องระบุชนิดตัวแปรที่จะคืนค่ากลับมา และใช้คำสั่ง return เพื่อคืนค่า
เช่น เราต้องการเรียกใช้เมธอด getName() เพื่อขอค่าชนิด String ที่เป็นรายชื่อกลับมา เราจะสร้างเมธอด ได้ดังภาพที่ 6
ภาพที่6 เมธอด คืนค่า แต่ไม่รับค่า
เราระบุ String เพื่อคืนค่า ชนิด String
และใช้คำสั่ง reutrn ค่าชนิด String กลับไปยังตำแหน่งที่เรียกใช้งาน
*ชนิดตัวแปร และค่าที่จะ return ต้องเป็นชนิดเดียวกันเสมอ
ภาพที่ 7 แสดงคำอธิบาย
เมื่อเรียกใช้เมธอด getName() เราจะได้ค่าชนิด String กลับมา
ภาพที่ 8 แสดงการเรีบกใช้เมธอด
เราสามารถประกาศตัวแปร มารับค่า ชนิด String ตามที่เมธอดส่งกลับมาได้ สมมติตั้งชื่อว่า name
ภาพที่ 9 แสดงการประกาศตัวแปรมารับค่า
จากนั้นก็สั่งแสดงผลตัวแปร name เพื่อดูค่าภายใน
ภาพที่ 10 แสดงการใช้คำสั่งแสดงผล
กด F6 เพื่อ Run โปรเจ็กต์ เราจะได้ผลลัพธ์ คือชื่อ Lexa ออกมา
ภาพที่11 แสดงผลลัพธ์
เราสามารถเขียนโค้ดสั้น ๆ เพื่อแสดงผล โดยไม่ต้องประกาศตัวแปรมารับค่าก็ได้ ดังภาพที่ 12
ภาพที่ 12 แสดงการเรียกใช้เมธอด
เมื่อสั่ง Run เราก็จะได้ผลลัพธ์ เช่นเดิม
ภาพที่ 13 แสดงผลลัพธ์
เมธอด รับค่า และ คืนค่า
บางครั้งเราอาจจะอยากให้เมธอดรับค่าอะไรบางอย่างเข้ามาประมวลผล และส่งค่าผลลัพธ์กลับไปให้เรา
เช่น
เราสร้างเมธอด plus() ขึ้นมา รับค่าตัวเลข 2 จำนวนมาบวกกัน และให้เมธอดนั้นคืนค่า (return) ผลบวกกลับไปให้เรา จะเขียนโค้ดได้ดัง ภาพที่ 14
ภาพที่ 14 เมธอด รับค่า และคืนค่า
เราระบุ int เพื่อคืนค่าข้อมูลชนิดตัวเลข
มีการรับค่า num1 และ num2 เข้ามา
และคืนค่า (return) ผลบวกกลับไป ยังตำแหน่งที่เรียกใช้
ภาพที่ 15 แสดงคำอธิบาย
เราสามารถเรียกใช้เมธอด plus() พร้อมกับส่งค่า เลข 7 และ เลข 3 ไปบวกกันได้ ดังภาพที่ 16
ภาพที่ 16 แสดงการเรียกใช้เมธอด
เมื่อกด F6 เพื่อสั่ง Run เราจะได้ผลลัพธ์ ผลบวก คือ 10 ออกมา
ภาพที่17 แสดงผลลัพธ์
เมธอด รับค่า แต่ ไม่คืนค่า
ในบางครั้ง เราก็เรียกใช้งานเมธอด โดยการส่งค่าไปให้ทำอะไรบางอย่าง แต่ไม่ต้องการให้คืนค่าอะไรกลับมา เช่น
เราสร้างเมธอด multiply() ขึ้นมา ให้รับค่า 2 ค่า นำไปคูณกัน และแสดงผลลัพธ์ ออกมาที่ Output สามารถเขียนโค้ดได้ ดังภาพที่ 18
ภาพที่ 18 เมธอด รับค่า แต่ไม่คืนค่า
เราระบุ void เพื่อบอกว่า เมธอดนี้ ไม่มีการคืนค่า
เมธอดมีการรับค่า เข้ามา 2 ค่า
และมีคำสั่งในการแสดงผลคูณ ค่าที่รับเข้ามา
ภาพที่ 19 แสดงคำอธิบาย
เราสามารถเรียกใช้เมธอด multiply() พร้อมกับส่งค่าเลข 5 ไป คูณกันได้ ดังนี้
ภาพที่ 20 แสดงการเรียกใช้เมธอด
เมื่อสั่ง Run เราจะได้ผลลัพธ์คือ ผลคูณ: 25 ออกมา
ภาพที่ 21 แสดงผลลัพธ์
การสร้างเมธอดก็จบลงเพียงเท่านี้ ลองทบทวน และฝึกเขียนให้ชำนาญนะคะ ในตอนต่อไป เราจะเรียนรู้เกี่ยวกับ คำสั่งที่ทำให้เกิดทางเลือกกันค่ะ