Java:#10 ทำความรู้จักกับเมธอด toString()

หลังจากที่เราได้รู้จักกับคอนตรัคเตอร์ และกำหนดค่าเริ่มต้นให้ ออบเจ็กต์ ผ่านคอนสตรัคเตอร์ เรียบร้อยแล้ว ตอนนี้ราจะสร้างเมธอด toString() ขึ้นมา เพื่อใช้ตรวจสอบดูว่า ออบเจ็กต์ต่าง ๆ เก็บค่าอะไรเอาไว้บ้าง ซึ่งมีขั้นตอนดังนี้

 

ขั้นตอนการสร้างเมธอด toString()

1. มาที่คลาส Students หาพื้นที่ว่าง เตรียมสร้างเมธอดใหม่

ภาพที่ 1 เตรียมสร้างเมธอดใหม่

2. กดคีย์ลัด Alt + Insert และเลือก toString()

ภาพที่ 2 กด Alt + Insert เลือก toString()

3. จะปรากฏหน้าจอให้สร้างเมธอด toString() ให้คลิกที่ปุ่ม Generate

ภาพที่ 3 คลิกที่ปุ่ม Generate

4. เราจะได้เมธอด toString() ขึ้นมา จากโค้ด เป็นคำสั่งง่าย ๆ คือ เมื่อเมธอด toString() ถูกเรียกใช้ จะทำการคืนค่าที่เก็บอยู่ในตัวแปรของตัวเองกลับไป ยังตำแหน่งที่เรียกใช้งาน

ภาพที่ 4 โค้ดในเมธอด toString()

หลังจากได้เมธอด toString() แล้ว เราจะใช้งานเมธอดนี้ ในหัวข้อต่อไป

ขั้นตอนการใช้งานเมธอด toString()

1. มาที่ไฟล์ Main.java หาพื้นที่ว่าง เพื่อเตรียมเขียนโค้ด

ภาพที่ 5 เตรียมเขียนโค้ด

2. เขียนคำสั่งแสดงผล โดยการใช้พิมพ์ sout (อ่านว่า เอสเอาท์)

ภาพที่ 6 พิมพ์ sout

3. จากนั้นกด Ctrl + space จะปรากฏคำสั่งแสดงผลขึ้นมา

ภาพที่ 7 กด Ctrl + space

4. กดปุ่ม Enter ที่คีย์บอร์ด เพื่อเลือกคำสั่ง ที่ไฮไลท์อยู่ จะทำให้เราได้ คำสั่งแสดงผลขึ้นมา

ภาพที่ 8 แสดงคำสั่ง แสดงผล

5. พิมพ์คำว่า ผลลัพธ์ : ลงไปในเมธอดแสดงผล

ภาพที่ 9 พิมพ์คำว่า ผลลัพธ์:

6. จากนั้น ใช้ออบเจ็กต์ obj1 เรียกใช้เมธอด toString() ดังภาพที่ 10

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

7. กดคีย์ลัด F6 เพื่อสั่ง run โปรเจ็กต์ จะปรากฏหน้าจอให้เลือกไฟล์ ที่ใช้ในการ run ให้คลิกที่ปุ่ม OK

ภาพที่ 11 คลิกที่ปุ่ม OK

8. โปรแกรมจะประมาลผล และเราจะได้ผลลัพธ์ออกมา ที่ส่วนของ Output ของโปรแกรม NetBeans

จะเห็นว่า ออบเจ็กต์ obj1 เก็บค่า ชื่อ เงาะป่า นามสกุล น่ารัก และมีคะแนน 62 ตามค่าที่เรากำหนดเอาไว้ให้ ตอนสร้างออบเจ็กต์

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

9. ลองเปลี่ยนเป็นการ ใช้ออบเจ็กต์ obj5 เรียกใช้เมธอด toString() แทน

ภาพที่ 13 ใช้ออบเจ็กต์ชื่อ obj5

10. จากนั้นกด F6 เพื่อสั่ง run ผลลัพธ์ที่ได้คือ ชื่อ จันทร์ฉาย นามสกุล สว่างไสว และมีคะแนนเท่ากับ 99 ตามค่าที่เรากำหนดเอาไว้

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

11. ในการเรียกใช้เมธอด toString() นั้น เราไม่จำเป็นต้องเรียกใช้โดยการใช้เครื่องหมาย จุด (.) ตามด้วยชื่อเมธอด toString() ก็ได้ เพราะเมื่อเราเรียกใช้เมธอดการแสดงผล เมธอด toString() จะถูกเรียกใช้อัตโนมัติ

เราทำเพียงแค่ ส่งออบเจ็กต์ ไปให้เมธอดที่ทำหน้าที่แสดงผลเท่านั้น จากนั้นเมธอด toString() จะถูกเรียกใช้อัตโนมัติ ก็จะทำให้ได้ผลลัพธ์ เช่นเดิม

ภาพที่ 15 เรียกใช้เมธอด toString() แบบอัตโนมัติ

ในตอนต่อไป เราจะไปสรุปความหมายของ Class และ Object กันค่ะ