Từ khóa cuối cùng ngăn các lớp con ghi đè một phương thức hoặc hằng số bằng cách tiền tố định nghĩa với final
. Nếu bản thân lớp đang được xác định cuối cùng thì nó không thể được mở rộng.
Ví dụ #1 Phương pháp cuối cùng ví dụ
Ví dụ #2 Ví dụ về lớp cuối cùng
Ví dụ #3 Hằng số cuối cùng Ví dụ như của Php 8.1.0
Lưu ý: Thuộc tính không thể được khai báo cuối cùng: chỉ các lớp, phương thức và hằng số [kể từ Php 8.1.0] có thể được khai báo là cuối cùng. Kể từ Php 8.0.0, các phương thức riêng tư có thể không được khai báo cuối cùng ngoại trừ hàm tạo.: Properties cannot be declared final: only classes, methods, and constants [as of PHP 8.1.0] may be declared as final. As of PHP 8.0.0, private methods may not be declared final except for the constructor.
Penartur tại Yandex Dot Ru ¶ ¶
15 năm trước
0
Ẩn danh ¶ ¶
15 năm trước
classmoreTesting[] {
1
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
Ai đó chấm khác ở nơi khác chấm lưới ¶ ¶
13 năm trước
classmoreTesting[] {
2
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
classmoreTesting[] {
3
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
classmoreTesting[] {
4
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
classmoreTesting[] {
5
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
classmoreTesting[] {
6
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
moreTesting[] {
echo "BaseClass::moreTesting[] called\n";
}
}class
ChildClass extends BaseClass {
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
7Ẩn danh ¶ ¶
8 năm trước
classmoreTesting[] {
8
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>
classmoreTesting[] {
9
echo "BaseClass::moreTesting[] called\n";
}
}
public function moreTesting[] {
echo "ChildClass::moreTesting[] called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting[]
?>