Hướng dẫn explain what “final method” means in php. - giải thích “phương pháp cuối cùng” có nghĩa là gì trong php.

Từ khóa cuối cùng được giới thiệu bởi PHP5 liên quan đến khái niệm lập trình hướng đối tượng.

Nhưng trước khi chúng ta chuyển sang trận chung kết, chúng ta cần đảm bảo rằng chúng ta có một sự hiểu biết tốt về khái niệm thừa kế. Trong kế thừa, chúng ta có thể thừa hưởng một lớp từ một lớp khác. Ngoài ra, chúng ta có thể ghi đè một hàm trong một lớp kế thừa, để thay thế hành vi ban đầu được cung cấp. Trong một số trường hợp, chúng ta có thể cần giữ một lớp không được kế thừa hoặc chúng ta có thể cần phải ngăn chặn một chức năng bị ghi đè. Điều này có thể đạt được với lần cuối cùng, bằng cách tiền tố lớp và chức năng với từ khóa cuối cùng. Về cơ bản khiến PHP tạo ra một lỗi trong trường hợp mọi người cố gắng mở rộng một lớp cuối cùng hoặc ghi đè chức năng cuối cùng.

Note:

Chúng ta chỉ có thể sử dụng từ khóa cuối cùng với các phương thức và lớp.

Hãy trình bày khái niệm với sự trợ giúp của các ví dụ dưới đây.

Example:

Chúng tôi không thể ghi đè chức năng lớp cha.

Output:

PHP Fatal error: Cannot override final method BaseClass::calculate[]

Explanation:

Trong ví dụ trên, lớp Baseclass là lớp cha. Trong đó phương pháp tính toán được đánh dấu là cuối cùng. Nó ngụ ý rằng chúng ta không thể ghi đè phương thức hiển thị trong bất kỳ lớp con nào của nó. Để xác định lỗi & nbsp; ChildClass đang cố gắng xác định phương thức cuối cùng hiển thị []. Điều này sẽ tạo ra một lỗi nghiêm trọng, nó ngụ ý rằng phương pháp cuối cùng của lớp cha không thể được xác định trong lớp con của nó.

Example:

Sử dụng từ khóa "cuối cùng" trước lớp

Output:

PHP Fatal error: Class Child may not inherit from final class [BaseClass]

Explanation:

Trong ví dụ trên Baseclass định nghĩa với trận chung kết, kết quả đó chúng tôi không thể mở rộng lớp này. Khi trẻ em cố gắng mở rộng từ Baseclass [ngụ ý trẻ em là lớp con của Baseclass]. Đối với tình huống này, PHP đã ném một thông báo lỗi, lớp trẻ em không thể được thừa hưởng từ lớp cuối cùng [Baseclass].

Cập nhật vào ngày 30 tháng 3 năm 2019 22:30:26

  • Câu hỏi và câu trả lời liên quan
  • Từ khóa cuối cùng của PHP
  • Lớp cuối cùng trong Java
  • Từ khóa cuối cùng trong PHP
  • Mô phỏng lớp cuối cùng trong C ++
  • Tại sao lớp cuối cùng được sử dụng trong Java?
  • Thực hiện một lớp học cuối cùng ở Java
  • Phương pháp cuối cùng có được kế thừa trong Java không?
  • Một lớp học trong Java có thể là cả cuối cùng và trừu tượng?
  • Một lớp cuối cùng có thể được phân lớp trong Java?
  • Phương pháp cuối cùng trong Java là gì?
  • Cuối cùng, cuối cùng và hoàn thiện trong C#
  • Phương pháp riêng và cuối cùng trong C#
  • Cuối cùng, cuối cùng và hoàn thiện trong Java
  • Một phương thức lớp bên trong cục bộ có thể truy cập các biến cuối cùng cục bộ trong Java không?
  • Tại sao lớp chuỗi là bất biến hoặc cuối cùng trong Java?

Trong bài viết này, chúng ta sẽ thấy phương pháp cuối cùng và phương pháp cuối cùng trong PHP là gì, cùng với việc biết việc thực hiện của họ 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 được đưa ra. Có một số trường hợp tồn tại trong đó chúng ta cần ngăn chặn lớp được 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 & nbsp; nhiệm vụ trong PHP ngăn chặ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 tiền tố bất kỳ phương thức hoặc lớp nào với từ khóa cuối cùng.

Lớp cuối cùng: Lớp cuối cùng là một lớp không thể được 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ó lớp con. Một lớp có thể được khai báo là cuối cùng bằng cách 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:The final class is a class that cannot be extended by other classes. So a Class that is declared with the final keyword doesn’t have child classes. A class can be declared as final by prefixing the final keyword before the Class. The syntax for defining the final class is given below:

Syntax:

final Class className

Phương pháp cuối cùng: Một phương thức được coi là một phương thức cuối cùng nếu nó được đặt trước với từ khóa cuối cùng. Các phương pháp cuối cùng là các phương pháp không thể được ghi đè. Vì vậy, các phương pháp này có thể được ghi đè trong các lớp con/con. Nó tăng 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 phương pháp cuối cùng được đưa ra dưới đây:A method is considered a final method if it is prefixed with the final keyword. The final methods are the methods that cannot be overridden. So, these methods can’t be overridden in child/subclasses. It increases security by preventing the modification of functions. The syntax for defining a final method is given below:

Syntax:

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

Chúng tôi 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 ném lỗi. Bởi vì ở đây lớp ParentGFG được tuyên bố 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 xác định là cuối cùng. Vì vậy, ở đây lớp ChedGFG không thể kế thừa lớp cuối cùng của ParentGFG. Vì vậy, PHP đã giành được một lớp con cho lớp ParentGFG.The below example throws an error. Because here the class ParentGFG is declared as final. So any class cannot inherit the classes that are defined as final. So here ChildGFG class cannot inherit the ParentGFG final class. So PHP won’t create a child class for ParentGFG class.

PHP

0

1

  

1

  ____25

6
7 
8

0
PHP Fatal error: Cannot override final method BaseClass::calculate[]
3
PHP Fatal error: Cannot override final method BaseClass::calculate[]
4
PHP Fatal error: Cannot override final method BaseClass::calculate[]
5

PHP Fatal error: Class Child may not inherit from final class [BaseClass]
3
PHP Fatal error: Cannot override final method BaseClass::calculate[]
7
Fatal error:Cannot override final method ParentGFG::print[] 
            in /home/c055b5cf6357c8cee93036f29c4c2eb8.php on line 11
9
PHP Fatal error: Cannot override final method BaseClass::calculate[]
9

0
1

  

1

  

final Class className
2
final Class className
3
final Class className
4
final Class className
5

  

final Class className
2
final Class className
8
PHP Fatal error: Cannot override final method BaseClass::calculate[]
4
final function functionName[Parameter1, Parameter2, ...];
0

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

Output:

Fatal error: Class ChildGFG cannot extend final class ParentGFG in 
            /home/522fb47d933747216c6e5fe0e51ac10d.php on line 11

Lợi thế của một lớp cuối cùng và phương pháp cuối cùng:The below example represents that any function defined as final in the parent class cannot be overridden by its child classes. The ParentGFG class has a method print[] which is declared as final. So, whenever any child class of ParentGFG like ChildGFG tries to override the print[] method, PHP throws an error.

PHP

0

1

  

1

  ____25

6
7 
8

0
PHP Fatal error: Cannot override final method BaseClass::calculate[]
3
PHP Fatal error: Cannot override final method BaseClass::calculate[]
4
PHP Fatal error: Cannot override final method BaseClass::calculate[]
5

PHP Fatal error: Class Child may not inherit from final class [BaseClass]
3
PHP Fatal error: Cannot override final method BaseClass::calculate[]
7
Fatal error:Cannot override final method ParentGFG::print[] 
            in /home/c055b5cf6357c8cee93036f29c4c2eb8.php on line 11
9
PHP Fatal error: Cannot override final method BaseClass::calculate[]
9

0
1

  

1

  

final Class className
2
final Class className
3
final Class className
4
final Class className
5

  

final Class className
2
final Class className
8
PHP Fatal error: Cannot override final method BaseClass::calculate[]
4
final function functionName[Parameter1, Parameter2, ...];
0

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

Output:

Fatal error:Cannot override final method ParentGFG::print[] 
            in /home/c055b5cf6357c8cee93036f29c4c2eb8.php on line 11

Lợi thế của một lớp cuối cùng và phương pháp cuối cùng:

  • Ưu điểm của việc khai báo một lớp hoặc phương pháp là cuối cùng là nó làm tăng tính bảo mật của lớp và phương pháp bằng cách ngăn chặn quá mức. Cả hai đều không thể mở rộng.

Nhược điểm của một lớp cuối cùng và phương pháp cuối cùng:

  • Nhược điểm của việc tuyên bố một trận chung kết lớp là nó không cho phép tạo một lớp con cho lớp cuối cùng đó do đó làm giảm khả năng tái sử dụng mã.

Phương pháp cuối cùng trong PHP là gì?

Định nghĩa và cách sử dụng Từ khóa cuối cùng được sử dụng để ngăn chặn một lớp được kế thừa và để ngăn phương pháp kế thừa bị ghi đè.used to prevent a class from being inherited and to prevent inherited method from being overridden.

Phương pháp cuối cùng có nghĩa là gì?

Bạn sử dụng từ khóa cuối cùng trong khai báo phương thức để chỉ ra rằng phương thức không thể bị ghi đè bởi các lớp con.Lớp đối tượng thực hiện một số phương thức của nó là cuối cùng.the method cannot be overridden by subclasses. The Object class does this—a number of its methods are final .

Ý nghĩa của một phương pháp cuối cùng và một lớp cuối cùng trong PHP là gì?

Cú pháp: Lớp học cuối cùng.Phương pháp cuối cùng: Một phương thức được coi là một phương thức cuối cùng nếu nó được đặt trước với từ khóa cuối cùng.Các phương pháp cuối cùng là các phương pháp không thể được ghi đè.Vì vậy, các phương pháp này không thể được ghi đè trong các lớp con/con.A method is considered a final method if it is prefixed with the final keyword. The final methods are the methods that cannot be overridden. So, these methods can't be overridden in child/subclasses.

Phương pháp cuối cùng trong OOP là gì?

Phương thức cuối cùng trong Java Phương thức với từ khóa cuối cùng không thể được ghi đè trong các lớp con.Mục đích của phương pháp cuối cùng là khai báo các phương thức về định nghĩa của cách không thể thay đổi bởi một đứa trẻ hoặc lớp con mở rộng nó.to declare methods of how's definition can not be changed by a child or subclass that extends it.

Bài Viết Liên Quan

Chủ Đề