Từ khóa final được sử dụng trong PHP cho phương thức và lớp. final cho phương thức ngăn chặn ghi đè phương thức, trong khi final cho lớp ngăn chặn kế thừa.
Ví dụ
Để làm việc với từ khóa final trong PHP, mã như sau. Ở đây, chúng ta có phương thức final:
<?php
class Base {
final function display() {
echo "Base class function declared final!";
}
function demo() {
echo "Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "Derived class function!";
}
}
$ob = new Derived;
$ob->demo();
?>
Kết quả
Điều này sẽ tạo ra kết quả sau:
Derived class function!
Ví dụ
Hãy xem ví dụ mà chúng ta có một lớp final:
<?php
final class Base {
final function display() {
echo "Base class function declared final!";
}
function demo() {
echo "Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "Derived class function!";
}
}
$ob = new Derived;
$ob->demo();
?>
Kết quả
Điều này sẽ tạo ra kết quả sau, tức là lỗi vì chúng ta thử tạo lớp dẫn xuất từ lớp cơ sở final:
PHP Fatal error: Class Derived may not inherit from final class (Base) in /home/cg/root/6985034/main.php on line 19