Setters ในการเขียนโปรแกรมเชิงวัตถุคืออะไร?
ในการเขียนโปรแกรมเชิงวัตถุ setter เป็นวิธีการที่ตั้งค่าคุณสมบัติของวัตถุ มันถูกเรียกเมื่อคุณกำหนดค่าใหม่ให้กับคุณสมบัติ
ตัวอย่างเช่น สมมติว่าคุณมีคลาส `Person` ที่มีคุณสมบัติ `name`:
```
class Person {
private $name;
public function __construct($ name) {
$this->name = $name;
}
public function setName($newName) {
$this->name = $newName;
}
}
```
ในตัวอย่างนี้ `setName( )` วิธีการคือตัวตั้งค่าสำหรับคุณสมบัติ `name` โดยจะใช้ค่าใหม่เป็นอาร์กิวเมนต์และกำหนดให้กับคุณสมบัติ `ชื่อ`
Setters มีประโยชน์เมื่อคุณต้องการควบคุมวิธีการตั้งค่าของคุณสมบัติ หรือเมื่อคุณต้องการดำเนินการเพิ่มเติมเมื่อค่าของคุณสมบัติเปลี่ยนแปลง . ตัวอย่างเช่น คุณอาจใช้ตัวตั้งค่าเพื่อตรวจสอบความถูกต้องของอินพุตก่อนที่จะกำหนดให้กับคุณสมบัติ หรือเพื่อทริกเกอร์เหตุการณ์การเปลี่ยนแปลงที่ส่วนอื่นๆ ของโค้ดของคุณสามารถรับฟังได้ เป็นที่น่าสังเกตว่าคุณสมบัติบางอย่างไม่จำเป็นต้องใช้ตัวตั้งค่า หากคุณสมบัติไม่ต้องการตรรกะหรือการตรวจสอบพิเศษใดๆ เมื่อตั้งค่าแล้ว คุณอาจเลือกที่จะละเว้นวิธี setter และเพียงกำหนดค่าโดยตรงในตัวสร้างหรือที่อื่นในโค้ดของคุณ



