Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Final methods: When a method is declared as final then overriding on that method can not be performed. Methods are declared as final due to some design reasons. Method should not be overridden due to security or any other reasons.
Example:
1
____10
final base class final method non final method of final base class1
final base class final method non final method of final base class2
final base class final method non final method of final base class3
final base class final method non final method of final base class4
final base class final method non final method of final base class5
final base class final method non final method of final base class6
final base class final method non final method of final base class8
final base class final method non final method of final base class8
final base class final method non final method of final base class1 1383
PHP Fatal error: Class Child may not inherit from final class [BaseClass]0
PHP Fatal error: Class Child may not inherit from final class [BaseClass]1
Output:
final base class final method non final method of final base class3
final base class final method non final method of final base class4 4
final base class final method non final method of final base class6
class
PHP Fatal error: Cannot override final method BaseClass::calculate[]
0PHP Fatal error: Cannot override final method BaseClass::calculate[]
1 Base {
A class declared as final can not be extended in future. Classes are declared as final due to some design level issue. Creator of class declare that class as final if he want that class should not be inherited due to some security or other reasons. A final class can contain final as well as non final methods. But there is no use of final methods in class when class is itself declared as final because inheritance is not possible.
Example:
1
PHP Fatal error: Class Child may not inherit from final class [BaseClass]0
PHP Fatal error: Class Child may not inherit from final class [BaseClass]1
Output:
final base class final method non final method of final base class
final base class final method
non final method of final base class
3final base class final method
non final method of final base class
4 4final base class final method
non final method of final base class
6 Unlike Java final keyword in PHP
can only be used for methods and classes not for variables.
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?