Setters trong lập trình hướng đối tượng là gì?
Trong lập trình hướng đối tượng, setter là một phương thức đặt giá trị thuộc tính của đối tượng. Nó được gọi khi bạn gán một giá trị mới cho thuộc tính.
Ví dụ: giả sử bạn có một lớp `Person` với thuộc tính `name`:
```
class Person {
private $name;
public function __construct($ name) {
$this->name = $name;
}
public function setName($newName) {
$this->name = $newName;
}
}
```
Trong ví dụ này, `setName( )` là phương thức setter cho thuộc tính `name`. Nó nhận một giá trị mới làm đối số và gán nó cho thuộc tính `name`.
Setters rất hữu ích khi bạn muốn kiểm soát cách đặt giá trị của một thuộc tính hoặc khi bạn muốn thực hiện các hành động bổ sung khi giá trị của một thuộc tính thay đổi . Ví dụ: bạn có thể sử dụng một setter để xác thực đầu vào trước khi gán nó cho thuộc tính hoặc để kích hoạt một sự kiện thay đổi mà các phần khác trong mã của bạn có thể lắng nghe.
Cần lưu ý rằng không phải tất cả các thuộc tính đều cần setter. Nếu một thuộc tính không yêu cầu bất kỳ logic hoặc xác thực đặc biệt nào khi giá trị của nó được đặt, bạn có thể chọn bỏ qua phương thức setter và chỉ cần gán giá trị trực tiếp trong hàm tạo hoặc ở nơi khác trong mã của mình.



