Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Final class và final method trong PHP

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 final cho class và method.
  • Dùng khi muốn bảo toàn logic quan trọng, tránh sửa đổi vô tình.