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ì?
{
};
class B1 extends A
{
};
echo get_class($b1);
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ì?
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`.