Mô tả lớp cuối cùng trong php

  • Trong PHP, từ khóa Final chỉ áp dụng cho lớp và phương thức lớp. Chúng tôi không thể khai báo là Final trong PHP
  • Vì vậy, nếu chúng ta khai báo phương thức lớp là Cuối cùng thì phương thức đó không thể được ghi đè bởi lớp con
  • Tương tự như phương thức nếu chúng ta khai báo lớp là Final thì lớp đó không thể mở rộng được nữa

ví dụ 1

đầu ra

Từ khóa final ngăn các lớp con ghi đè một phương thức bằng cách thêm tiền tố vào định nghĩa bằng final. Điều đó có nghĩa là nếu chúng ta định nghĩa một phương thức bằng lệnh cuối cùng thì nó sẽ ngăn chúng ta ghi đè phương thức đó

show[100,100];
?>

Đầu ra Lỗi nghiêm trọng. Không thể ghi đè phương thức cuối cùng A. hiển thị [] trong C. xampplitehtdocs1aa. php trên dòng 18

Trong ví dụ trên Lớp A là lớp cha của tôi. Trong đó phương thức hiển thị được đánh dấu bằng lệnh cuối cùng. Điều đó có nghĩa là phương thức show không thể ghi đè lên bất kỳ lớp con nào của nó.

Để xem lỗi lớp B xác định được mở rộng bởi A. Nó có nghĩa là B là lớp con của A. Trong B, nó đang cố xác định phương thức cuối cùng [hiển thị] trong lớp B. Cái nào sẽ tạo ra lỗi nghiêm trọng với thông báo Không thể ghi đè phương thức cuối cùng A. buổi bieu diễn[]. Điều đó có nghĩa là chúng ta không thể định nghĩa phương thức cuối cùng của lớp cha trong lớp con của nó

Sử dụng cuối cùng trước lớp

Nếu bản thân lớp đang được định nghĩa cuối cùng thì nó không thể được mở rộng. Điều đó có nghĩa là khi chúng ta định nghĩa một lớp bằng final thì nó sẽ không cho phép định nghĩa lớp con của nó

show[100,100];

?>

Đầu ra Lỗi nghiêm trọng. Lớp B có thể không kế thừa từ lớp cuối cùng [A] trong C. xampplitehtdocs1aa. php trên dòng 17

Trong ví dụ trên, lớp A định nghĩa bằng lệnh cuối cùng. Nó có nghĩa là lớp này không thể được mở rộng. Khi lớp B được định nghĩa với phần mở rộng A [có nghĩa là B là lớp con của A]. Nhưng nó tạo ra lỗi với thông báo "Lớp B có thể không kế thừa từ lớp cuối cùng [A]". Điều đó có nghĩa là nó sẽ không cho phép tạo bất kỳ lớp con nào của A. Điều đó có nghĩa là lớp cuối cùng không thể được kế thừa

lớp học cuối cùng. Một lớp được khai báo là cuối cùng không thể được mở rộng trong tương lai. Các lớp được khai báo là cuối cùng do một số vấn đề ở cấp độ thiết kế. Người tạo lớp khai báo lớp đó là lớp cuối cùng nếu anh ta muốn lớp đó không được kế thừa do một số lý do bảo mật hoặc lý do khác. Một lớp cuối cùng có thể chứa các phương thức cuối cùng cũng như không phải là cuối cùng. Nhưng không sử dụng các phương thức cuối cùng trong lớp khi bản thân lớp được khai báo là cuối cùng vì không thể kế thừa

Trong bài viết này, chúng ta sẽ xem final class & final method trong PHP là gì, cùng với việc biết cách triển khai chúng thông qua các ví dụ

Các thuật ngữ lớp, đối tượng, phương thức và cuối cùng thuộc lập trình hướng đối tượng. Trong lập trình hướng đối tượng, có một khái niệm quan trọng được gọi là Kế thừa, cho phép một lớp kế thừa các thuộc tính của lớp khác và thậm chí có khả năng ghi đè các phương thức được kế thừa, để thay thế hành vi ban đầu đã cho. Có một số trường hợp tồn tại khi chúng ta cần ngăn không cho lớp bị kế thừa hoặc bị ghi đè. Đối với điều này, từ khóa cuối cùng có thể được sử dụng để hoàn thành tác vụ trong PHP để ngăn bất kỳ lớp hoặc phương thức nào kế thừa và ghi đè chức năng. Nó được sử dụng đơn giản bằng cách thêm tiền tố vào bất kỳ phương thức hoặc lớp nào với từ khóa cuối cùng

lớp học cuối cùng. Lớp cuối cùng là lớp không thể mở rộng bởi các lớp khác. Vì vậy, một Lớp được khai báo với từ khóa cuối cùng không có các lớp con. Một lớp có thể được khai báo là cuối cùng bằng cách đặt tiền tố từ khóa cuối cùng trước Lớp. Cú pháp để xác định lớp cuối cùng được đưa ra dưới đây

cú pháp

final Class className

phương pháp cuối cùng. Một phương thức được coi là phương thức cuối cùng nếu nó được bắt đầu bằng từ khóa cuối cùng. Các phương thức cuối cùng là các phương thức không thể ghi đè. Vì vậy, các phương thức này không thể bị ghi đè trong lớp con/lớp con. Nó tăng tính bảo mật bằng cách ngăn chặn việc sửa đổi các chức năng. Cú pháp để xác định một phương thức cuối cùng được đưa ra dưới đây

cú pháp

final function functionName[Parameter1, Parameter2, ...];

Chúng ta sẽ hiểu những khái niệm này thông qua các ví dụ dưới đây

ví dụ 1. Ví dụ dưới đây đưa ra một lỗi. Bởi vì ở đây lớp ParentGFG được khai báo là cuối cùng. Vì vậy, bất kỳ lớp nào cũng không thể kế thừa các lớp được định nghĩa là cuối cùng. Vì vậy, ở đây lớp ChildGFG không thể kế thừa lớp ParentGFG cuối cùng. Vì vậy, PHP sẽ không tạo lớp con cho lớp ParentGFG

PHP




final function functionName[Parameter1, Parameter2, ...];
2

final function functionName[Parameter1, Parameter2, ...];
3
final function functionName[Parameter1, Parameter2, ...];
4
final function functionName[Parameter1, Parameter2, ...];
5

final function functionName[Parameter1, Parameter2, ...];
6
final function functionName[Parameter1, Parameter2, ...];
7
final function functionName[Parameter1, Parameter2, ...];
0
final function functionName[Parameter1, Parameter2, ...];
1

final function functionName[Parameter1, Parameter2, ...];
2
final function functionName[Parameter1, Parameter2, ...];
3
final function functionName[Parameter1, Parameter2, ...];
4
final function functionName[Parameter1, Parameter2, ...];
5

final function functionName[Parameter1, Parameter2, ...];
6
final function functionName[Parameter1, Parameter2, ...];
7

final function functionName[Parameter1, Parameter2, ...];
3____37

final function functionName[Parameter1, Parameter2, ...];
3____131
show[100,100];

?>
32____133
show[100,100];

?>
34

final function functionName[Parameter1, Parameter2, ...];
6
final function functionName[Parameter1, Parameter2, ...];
7
final function functionName[Parameter1, Parameter2, ...];
0
final function functionName[Parameter1, Parameter2, ...];
1

show[100,100];

?>
39
final function functionName[Parameter1, Parameter2, ...];
3
final Class className
21
final function functionName[Parameter1, Parameter2, ...];
5

final function functionName[Parameter1, Parameter2, ...];
6
final function functionName[Parameter1, Parameter2, ...];
7

final function functionName[Parameter1, Parameter2, ...];
3____37

final function functionName[Parameter1, Parameter2, ...];
3______228
final Class className
29
final function functionName[Parameter1, Parameter2, ...];
20
final function functionName[Parameter1, Parameter2, ...];
21

final function functionName[Parameter1, Parameter2, ...];
3______228
final function functionName[Parameter1, Parameter2, ...];
24
final function functionName[Parameter1, Parameter2, ...];
0
final function functionName[Parameter1, Parameter2, ...];
26

final function functionName[Parameter1, Parameter2, ...];
27

đầu ra

show[100,100];

?>
3

ví dụ 2. Ví dụ dưới đây thể hiện rằng bất kỳ chức năng nào được định nghĩa là cuối cùng trong lớp cha không thể bị ghi đè bởi các lớp con của nó. Lớp ParentGFG có phương thức print[] được khai báo là final. Vì vậy, bất cứ khi nào bất kỳ lớp con nào của ParentGFG như ChildGFG cố gắng ghi đè phương thức print[], PHP sẽ báo lỗi

lớp cuối cùng giải thích với ví dụ là gì?

Lớp cuối cùng là lớp được khai báo với từ khóa final . Chúng ta có thể hạn chế kế thừa lớp bằng cách sử dụng lớp cuối cùng. Các lớp cuối cùng không thể được mở rộng hoặc kế thừa. Nếu chúng ta cố gắng kế thừa một lớp cuối cùng, thì trình biên dịch sẽ báo lỗi trong quá trình biên dịch.

Các phương thức cuối cùng trong PHP là gì?

phương thức cuối cùng. Một phương thức được coi là phương thức cuối cùng nếu nó được bắt đầu bằng từ khóa cuối cùng. Các phương thức cuối cùng là các phương thức không thể ghi đè . Vì vậy, các phương thức này không thể bị ghi đè trong lớp con/lớp con.

lớp cuối cùng trong oops là gì?

Lớp cuối cùng là lớp không thể mở rộng. Ngoài ra, các phương thức có thể được khai báo là cuối cùng để chỉ ra rằng không thể bị ghi đè bởi các lớp con. Ngăn không cho lớp bị phân lớp có thể đặc biệt hữu ích nếu bạn viết API hoặc thư viện và muốn tránh bị mở rộng để thay đổi hành vi cơ sở

Việc sử dụng các lớp cuối cùng là gì?

Mục đích chính của việc sử dụng một lớp được khai báo là cuối cùng là để ngăn lớp này bị phân lớp con . Nếu một lớp được đánh dấu là cuối cùng thì không lớp nào có thể kế thừa bất kỳ tính năng nào từ lớp cuối cùng. Bạn không thể mở rộng một lớp cuối cùng.

Chủ Đề