Java#19 การสร้างเมธอด

ในตอนที่ผ่านมา เราได้เรียนรู้ว่า การสร้างเมธอดแบบพื้นฐานจะมี 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 แสดงผลลัพธ์

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