PHP: Từ khóa final


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Từ bản PHP 5 trở đi có giới thiệu về từ khóa final, từ khóa này sẽ ngăn cản không cho lớp con ghi đè phương thức bằng cách đặt trước định nghĩa phương thức đó từ khóa final. Nếu bản thân lớp được định nghĩa là final thì nó không cho phép kế thừa.

Ví dụ 1: Ví dụ về phương thức final

<?php
class BaseClass {
   public function 
test() {
       echo 
"BaseClass::test() called\n";
   }
   
   final public function 
moreTesting() {
       echo 
"BaseClass::moreTesting() called\n";
   }
}

class 
ChildClass extends BaseClass {
   public function 
moreTesting() {
       echo 
"ChildClass::moreTesting() called\n";
   }
}

// Kết quả là lỗi Fatal: Không thể ghi đè phương thức final BaseClass::moreTesting()
?>

Ví dụ 2: Ví dụ về lớp final

<?php
final class BaseClass {
   public function 
test() {
       echo 
"BaseClass::test() called\n";
   }

   
// Bạn có thể khai báo phương thức trong lớp final là final hoặc không
   
final public function moreTesting() {
       echo 
"BaseClass::moreTesting() called\n";
   }
}

class 
ChildClass extends BaseClass {
}

// Kết quả là lỗi Fatal: Lớp ChildClass không thể thừa kế lớp final (BaseClass)
?>

Lưu ý: Thuộc tính không thể được khai báo là final, chỉ áp dụng được điều này cho lớp và phương thức.

» Tiếp: Interface
« Trước: Toán tử ::
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!