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

ในตอนที่ผ่านมา เราได้เรียนรู้ว่า การสร้างเมธอดแบบพื้นฐานจะมี 4 แบบ หลัก ๆ คือ

1. เมธอด ไม่รับค่า และ ไม่คืนค่า

2. เมธอด ไม่รับค่า แต่ คืนค่า

3. เมธอด รับค่า และ คืนค่า

4. เมธอด รับค่า แต่ ไม่คืนค่า

 

เราจะมาลงรายละเอียดในแต่ละหัวข้อกันค่ะ

 

เมธอด ไม่รับค่า และ ไม่คืนค่า

สมมติว่า เรามีคลาส Users ดังภาพที่ 1

TH-JAVA Quick Start Java -19-1

ภาพที่ 1 ประกาศตัวแปร

 

และเราต้องการสร้างเมธอด ที่ เรียกใช้งานแล้ว ให้แสดงผลรายละเอียดในตัวแปร ออกมา เราสามารถสร้างเมธอดแบบ ไม่รับค่า และไม่คืนค่าใด ๆ ได้ ดังภาพที่ 2

TH-JAVA Quick Start Java -19-2

ภาพที่ 2 เมธอด ไม่รับค่า และไม่คืนค่า

 

เมธอดที่ไม่ระบุอะไรในวงเล็บ ( ) หมายถึง ไม่มีการรับค่าใด ๆ เข้ามา

และการระบุ void ไว้ที่หัวเมธอด คือการบอกว่า เมธอด ไม่มีการคืนค่าใด ๆ

TH-JAVA Quick Start Java -19-3

ภาพที่ 3 แสดงคำอธิบาย

 

เมื่อเราสร้างออบเจ็กต์จากคลาส Users ขึ้นมา และเรียกใชเ้มธอด show()

TH-JAVA Quick Start Java -19-4

ภาพที่ 4 สร้างออบเจ็กต์ ทดสอบเมธอด

 

กด F6 เพื่อสั่ง Run โปรแกรม เราก็จะได้ผลลัพธ์ออกมาที่ Output ของโปรแกรม

TH-JAVA Quick Start Java -19-5

ภาพที่ 5 แสดงผลลัพธ์

 

 

เมธอด ไม่รับค่า แต่ คืนค่า

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

 

เช่น เราต้องการเรียกใช้เมธอด getName() เพื่อขอค่าชนิด String ที่เป็นรายชื่อกลับมา เราจะสร้างเมธอด ได้ดังภาพที่ 6

 

TH-JAVA Quick Start Java -19-6

ภาพที่ 6 เมธอด คืนค่า แต่ไม่รับค่า

 

เราระบุ String เพื่อคืนค่า ชนิด String

และใช้คำสั่ง reutrn ค่าชนิด String กลับไปยังตำแหน่งที่เรียกใช้งาน

*ชนิดตัวแปร และค่าที่จะ return ต้องเป็นชนิดเดียวกันเสมอ

 

TH-JAVA Quick Start Java -19-7

ภาพที่ 7 แสดงคำอธิบาย

 

เมื่อเรียกใช้เมธอด getName() เราจะได้ค่าชนิด String กลับมา

TH-JAVA Quick Start Java -19-8

ภาพที่ 8 แสดงการเรีบกใช้เมธอด

 

เราสามารถประกาศตัวแปร มารับค่า ชนิด String ตามที่เมธอดส่งกลับมาได้ สมมติตั้งชื่อว่า name

TH-JAVA Quick Start Java -19-9

ภาพที่ 9 แสดงการประกาศตัวแปรมารับค่า

 

จากนั้นก็สั่งแสดงผลตัวแปร name เพื่อดูค่าภายใน

TH-JAVA Quick Start Java -19-10

ภาพที่ 10 แสดงการใช้คำสั่งแสดงผล

 

กด F6 เพื่อ Run โปรเจ็กต์ เราจะได้ผลลัพธ์ คือชื่อ Lexa ออกมา

TH-JAVA Quick Start Java -19-11

ภาพที่ 11 แสดงผลลัพธ์

 

เราสามารถเขียนโค้ดสั้น ๆ เพื่อแสดงผล โดยไม่ต้องประกาศตัวแปรมารับค่าก็ได้ ดังภาพที่ 12

TH-JAVA Quick Start Java -19-12

ภาพที่ 12 แสดงการเรียกใช้เมธอด

 

เมื่อสั่ง Run เราก็จะได้ผลลัพธ์ เช่นเดิม

TH-JAVA Quick Start Java -19-13

ภาพที่ 13 แสดงผลลัพธ์

 

 

เมธอด รับค่า และ คืนค่า

บางครั้งเราอาจจะอยากให้เมธอดรับค่าอะไรบางอย่างเข้ามาประมวลผล และส่งค่าผลลัพธ์กลับไปให้เรา

 

เช่น

 

เราสร้างเมธอด plus() ขึ้นมา รับค่าตัวเลข 2 จำนวนมาบวกกัน และให้เมธอดนั้นคืนค่า (return) ผลบวกกลับไปให้เรา จะเขียนโค้ดได้ดัง ภาพที่ 14

 

TH-JAVA Quick Start Java -19-14

ภาพที่ 14 เมธอด รับค่า และคืนค่า

 

เราระบุ int เพื่อคืนค่าข้อมูลชนิดตัวเลข

มีการรับค่า num1 และ num2 เข้ามา

และคืนค่า (return) ผลบวกกลับไป ยังตำแหน่งที่เรียกใช้

TH-JAVA Quick Start Java -19-15

ภาพที่ 15 แสดงคำอธิบาย

 

เราสามารถเรียกใช้เมธอด plus() พร้อมกับส่งค่า เลข 7 และ เลข 3 ไปบวกกันได้ ดังภาพที่ 16

TH-JAVA Quick Start Java -19-16

ภาพที่ 16 แสดงการเรียกใช้เมธอด

 

เมื่อกด F6 เพื่อสั่ง Run เราจะได้ผลลัพธ์ ผลบวก คือ 10 ออกมา

TH-JAVA Quick Start Java -19-17

ภาพที่ 17 แสดงผลลัพธ์

 

 

เมธอด รับค่า แต่ ไม่คืนค่า

ในบางครั้ง เราก็เรียกใช้งานเมธอด โดยการส่งค่าไปให้ทำอะไรบางอย่าง แต่ไม่ต้องการให้คืนค่าอะไรกลับมา เช่น

 

เราสร้างเมธอด multiply() ขึ้นมา ให้รับค่า 2 ค่า นำไปคูณกัน และแสดงผลลัพธ์ ออกมาที่ Output  สามารถเขียนโค้ดได้ ดังภาพที่ 18

 

TH-JAVA Quick Start Java -19-18

ภาพที่ 18 เมธอด รับค่า แต่ไม่คืนค่า

 

เราระบุ void เพื่อบอกว่า เมธอดนี้ ไม่มีการคืนค่า

เมธอดมีการรับค่า เข้ามา 2 ค่า

และมีคำสั่งในการแสดงผลคูณ ค่าที่รับเข้ามา

TH-JAVA Quick Start Java -19-19

ภาพที่ 19 แสดงคำอธิบาย

 

เราสามารถเรียกใช้เมธอด multiply() พร้อมกับส่งค่าเลข 5 ไป คูณกันได้ ดังนี้

TH-JAVA Quick Start Java -19-20

ภาพที่ 20 แสดงการเรียกใช้เมธอด

 

เมื่อสั่ง Run เราจะได้ผลลัพธ์คือ ผลคูณ: 25 ออกมา

TH-JAVA Quick Start Java -19-21

ภาพที่ 21 แสดงผลลัพธ์

 

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

 

Comments

comments

ธมนวรรณ มณีจันทร์

เป้าหมาย : "พัฒนาคุณภาพชีวิตผู้คน ผ่านการส่งมอบความรู้ ด้วยเทคโนโลยีที่ดีที่สุด" ... ประวัติ