JavaScript is required

class A
{
};
class B1 extends A
{
};
class_alias('A', 'B2');
$b1 = new B1;
echo get_class($b1);
$b2 = new B2;
echo get_class($b2);
?>
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ì?

A.

B1A

B.

B2A

C.

B1B2

D.

It will throw an error.

Trả lời:

Đáp án đúng: A


Đoạn code PHP này định nghĩa một lớp `A`, sau đó lớp `B1` kế thừa từ lớp `A`. Hàm `class_alias('A', 'B2')` tạo một bí danh (alias) cho lớp `A` với tên là `B2`. Dòng `$b1 = new B1;` tạo một đối tượng `$b1` từ lớp `B1`. Khi `echo get_class($b1);` được thực thi, nó sẽ in ra tên của lớp mà `$b1` là một thể hiện, tức là `B1`. Dòng `$b2 = new B2;` tạo một đối tượng `$b2` từ bí danh `B2`, thực chất là lớp `A`. Khi `echo get_class($b2);` được thực thi, nó sẽ in ra tên của lớp mà `$b2` là một thể hiện, tức là `A`. Vì vậy, kết quả hiển thị sẽ là `B1A`.

Câu hỏi liên quan