ในการอัปเดตค่าของคุณสมบัติส่วนตัวในคลาสใน PHP เราจำเป็นต้องใช้เมธอด getter และ setter คุณสมบัติส่วนตัวไม่สามารถเข้าถึงได้โดยตรงจากภายนอกคลาส ดังนั้นเราจำเป็นต้องกำหนดวิธีการสาธารณะภายในคลาสเพื่อแก้ไขค่าของมัน
ก่อนอื่น เรามาพิจารณาคลาสง่ายๆ ที่เรียกว่า "บุคคล" โดยมีคุณสมบัติส่วนตัวที่เรียกว่า "ชื่อ":
class Person { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } }
ในตัวอย่างข้างต้น ทรัพย์สินส่วนตัว `$name` สามารถเข้าถึงได้ภายในคลาสเท่านั้น ในการเข้าถึงและแก้ไขค่า เราได้กำหนดวิธีสาธารณะสองวิธี: `getName()` และ `setName($name)`
เมธอด `getName()` เป็นเมธอด getter ที่คืนค่าของคุณสมบัติส่วนตัว `$name` มันไม่ได้แก้ไขค่า แต่อนุญาตให้เราเรียกคืนได้
เมธอด `setName($name)` เป็นเมธอด setter ที่ใช้อาร์กิวเมนต์ `$name` และกำหนดให้กับคุณสมบัติส่วนตัว `$name` สิ่งนี้ช่วยให้เราสามารถอัปเดตมูลค่าของทรัพย์สินส่วนตัวจากภายนอกชั้นเรียนได้
ต่อไปนี้คือตัวอย่างวิธีที่เราสามารถใช้เมธอด getter และ setter เหล่านี้เพื่ออัปเดตค่าของคุณสมบัติส่วนตัว:
$person = new Person(); $person->setName("John Doe"); echo $person->getName(); // Output: John Doe $person->setName("Jane Smith"); echo $person->getName(); // Output: Jane Smith
ในตัวอย่างข้างต้น เราสร้างตัวอย่างใหม่ของคลาส `Person` และตั้งชื่อโดยใช้เมธอด `setName()` จากนั้นเราจะดึงชื่อที่อัปเดตโดยใช้เมธอด `getName()` และแสดงชื่อนั้น
โดยการใช้เมธอด getter และ setter เราสามารถมั่นใจได้ว่าคุณสมบัติส่วนตัวของคลาสนั้นถูกเข้าถึงและแก้ไขในลักษณะที่มีการควบคุม การห่อหุ้มนี้ช่วยรักษาความสมบูรณ์ของคลาสและป้องกันการจัดการคุณสมบัติส่วนตัวโดยตรงจากภายนอกคลาส
ในการอัพเดตค่าของคุณสมบัติส่วนตัวในคลาสใน PHP เราจำเป็นต้องกำหนดเมธอด getter และ setter สาธารณะภายในคลาส เมธอด getter ดึงค่าของคุณสมบัติส่วนตัว ในขณะที่เมธอด setter อนุญาตให้เราแก้ไขค่าของมัน โดยใช้วิธีการเหล่านี้ เราสามารถปรับปรุงคุณสมบัติส่วนตัวในลักษณะควบคุม
คำถามและคำตอบล่าสุดอื่น ๆ เกี่ยวกับ คลาสและออบเจ็กต์ใน PHP:
- แนวทางที่แนะนำสำหรับการเข้าถึงและแก้ไขคุณสมบัติในคลาสคืออะไร?
- ประโยชน์ของการใช้ getters และ setters ในชั้นเรียนคืออะไร?
- เราจะเข้าถึงมูลค่าของทรัพย์สินส่วนตัวในชั้นเรียนได้อย่างไร?
- จุดประสงค์ของการทำให้คุณสมบัติเป็นส่วนตัวในชั้นเรียนคืออะไร
- ฟังก์ชันคอนสตรัคเตอร์ในคลาส PHP คืออะไร และจุดประสงค์ของมันคืออะไร?
- วิธีการในคลาส PHP คืออะไรและเราจะกำหนดการมองเห็นได้อย่างไร
- คุณสมบัติในคลาส PHP คืออะไรและเราจะกำหนดการมองเห็นได้อย่างไร
- เราจะสร้างวัตถุจากคลาสใน PHP ได้อย่างไร
- คลาสใน PHP คืออะไรและมีไว้เพื่อจุดประสงค์อะไร?