Java: this ตอนที่ 6 การใช้ this เพื่อส่งออบเจ็กต์ผ่านทางคอนสตรัคเตอร์

เราสามารถใช้คีย์เวิร์ด this เพื่อส่งค่าออบเจ็กต์ของตัวเองผ่านทางคอนสตรัคเตอร์ได้ ความสามารถนี้ ทำให้เราใช้ออเจ็กต์เดียว ในหลาย ๆ คลาสได้

 

มาดูโค้ดตัวอย่างกันค่ะ

สมมติว่าเรามีคลาส Nation ที่มีตัวแปรชนิด Person อยู่ภายใน และมีความสามารถดังนี้

 

และเรามีคลาส Person ที่เป็นค่าข้อมูล ชื่อ และประเทศเอาไว้ ดังนี้

 

สังเกตที่เมธอด show() เรามีการสร้างออบเจ็กต์จากคลาส Nation และส่ง this ที่หมายถึง ออบเจ็กต์ปัจจุบันของคลาสชนิด Person ไปให้เมธอดทำงาน และเรียกใช้เมธอดในคลาสของตัวเอง คือ showDetails()

 

ทดสอบโปรแกรม

สร้าง main class ชื่อ TestPerson ขึ้นมาทดสอบโปรแกรม

 

ผลลัพธ์การทำงาน

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

TH-JAVA-THIS-KEYWORD-6-1

 

สรุป

จะเห็นว่าเราสามารถส่ง this (ซึ่งหมายถึง ออบเจ็กต์จากคลาส Persion) ไปให้ Constructor ของคลาส Nation ได้ โดยแต่ละออบเจ็กต์ก็สามารถเรียกใช้งานเมธอดของตัวเองได้ตามต้องการ

 

 

การใช้งาน this

เราสามารถใช้ this เพื่อทำงานต่าง ๆ ได้ดังนี้

1. การใช้ this เรียกใช้คอนสตรัคเตอร์

2. การใช้ this อ้างถึงตัวแปร

3. การใช้ this เรียกใช้เมธอด

4. การใช้ this เพื่อส่งออบเจ็กต์ผ่านทางเมธอด

5. การใช้ this เพื่อส่งออบเจ็กต์ผ่านทางคอนสตรัคเตอร์

6. การใช้ this เพื่อคืนค่าตำแหน่งออบเจ็กต์

Comments

comments

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

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