Xem đoạn mã lệnh sau đây. Sau khi thực hiện đoạn mã trên kết quả hiển thị sẽ là gì ?
class Object
{
function Object($entity)
{
$entity->name = "John";
}
}
class Entity
{
var $name = "Maria";
}
$entity = new Entity();
$obj = new Object($entity);
print $entity->name;
?>
class Object
{
function Object($entity)
{
$entity->name = "John";
}
}
class Entity
{
var $name = "Maria";
}
$entity = new Entity();
$obj = new Object($entity);
print $entity->name;
?>
Trả lời:
Đáp án đúng: B
Đoạn mã PHP định nghĩa hai lớp là `Object` và `Entity`.
1. **Lớp `Entity`**: Lớp này có một thuộc tính `$name` được khởi tạo với giá trị là "Maria".
2. **Lớp `Object`**: Hàm tạo (constructor) của lớp này nhận một đối tượng `$entity` làm tham số và gán giá trị "John" cho thuộc tính `$name` của đối tượng `$entity` đó.
3. **Thực thi**:
* Một đối tượng `$entity` thuộc lớp `Entity` được tạo ra. Lúc này, `$entity->name` có giá trị là "Maria".
* Một đối tượng `$obj` thuộc lớp `Object` được tạo ra, và đối tượng `$entity` được truyền vào hàm tạo của `Object`. Bên trong hàm tạo của `Object`, `$entity->name` được gán giá trị mới là "John".
* Cuối cùng, `print $entity->name;` in ra giá trị của thuộc tính `$name` của đối tượng `$entity`. Vì thuộc tính `$name` đã bị thay đổi thành "John" trong hàm tạo của `Object`, nên kết quả in ra sẽ là "John".
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
