final ngăn chặn ghi đè (override) hoặc kế thừa (extends).
Final Method
Lớp con không được override method final.
<?php
class Base {
final public function calc($a, $b) { return $a + $b; }
}
class Child extends Base {
public function calc($a, $b) { return $a * $b; } // Fatal Error
}
?>
Final Class
Không lớp nào được extends từ final class.
<?php
final class Base { public function foo() {} }
class Child extends Base {} // Fatal Error: Cannot inherit from final class
?>
Lưu ý
- Chỉ dùng
finalcho class và method. - Dùng khi muốn bảo toàn logic quan trọng, tránh sửa đổi vô tình.