Hướng dẫn difference between final class and final method in php - sự khác biệt giữa lớp cuối cùng và phương thức cuối cùng trong php

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Hướng dẫn difference between final class and final method in php - sự khác biệt giữa lớp cuối cùng và phương thức cuối cùng trong php

    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:

    Bàn luận

    Từ khóa cuối cùng trong PHP được sử dụng trong bối cảnh khác nhau. Từ khóa cuối cùng chỉ được sử dụng cho các phương thức và các lớp. Phương pháp: Khi một phương thức được khai báo là cuối cùng thì không thể thực hiện phương thức đó. Phương pháp được tuyên bố là cuối cùng do một số lý do thiết kế. Phương thức không nên được ghi đè do bảo mật hoặc bất kỳ lý do nào khác.

    class Base {

        

    final base class final method
    non final method of final base class
    
    8

        ____10

    final base class final method
    non final method of final base class
    
    1
    final base class final method
    non final method of final base class
    
    2

    final base class final method
    non final method of final base class
    
    3
    final base class final method
    non final method of final base class
    
    4
    final base class final method
    non final method of final base class
    
    5
    final base class final method
    non final method of final base class
    
    6

        

    final base class final method
    non final method of final base class
    
    8

    final base class final method
    non final method of final base class
    
    8

        

    final base class final method
    non final method of final base class
    
    1
    show(10,10);
    ?>
    1

        ____10

    final base class final method
    non final method of final base class
    
    1
    final base class final method
    non final method of final base class
    
    2

    final base class final method
    non final method of final base class
    
    3
    final base class final method
    non final method of final base class
    
    4
    final base class final method
    non final method of final base class
    
    5
    final base class final method
    non final method of final base class
    
    6

        

    final base class final method
    non final method of final base class
    
    8

    final base class final method
    non final method of final base class
    
    8

        

    final base class final method
    non final method of final base class
    
    1
    show(10,10);
    ?>
    1

    printData(20,20);
    ?>
    3
    printData(20,20);
    ?>
    8

    printData(20,20);
    ?>
    3
    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
    
    3
    final base class final method
    non final method of final base class
    
    4
    show(10,10);
    ?>
    4
    final base class final method
    non final method of final base class
    
    6

    class

    PHP Fatal error: Cannot override final method BaseClass::calculate()
    0
    PHP 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:

    final base class final method
    non final method of final base class
    
    3
    final base class final method
    non final method of final base class
    
    4
    PHP Fatal error: Cannot override final method BaseClass::calculate()
    8
    final base class final method
    non final method of final base class
    
    6

    Từ khóa cuối cùng trong PHP được sử dụng trong bối cảnh khác nhau. Từ khóa cuối cùng chỉ được sử dụng cho các phương thức và các lớp. Phương pháp: Khi một phương thức được khai báo là cuối cùng thì không thể thực hiện phương thức đó. Phương pháp được tuyên bố là cuối cùng do một số lý do thiết kế. Phương thức không nên được ghi đè do bảo mật hoặc bất kỳ lý do nào khác.

    class Base {

        

    final base class final method
    non final method of final base class
    
    8

        ____10

    final base class final method
    non final method of final base class
    
    1
    final base class final method
    non final method of final base class
    
    2

    final base class final method
    non final method of final base class
    
    3
    final base class final method
    non final method of final base class
    
    4
    final base class final method
    non final method of final base class
    
    5
    final base class final method
    non final method of final base class
    
    6

        

    final base class final method
    non final method of final base class
    
    8

    final base class final method
    non final method of final base class
    
    8

        

    final base class final method
    non final method of final base class
    
    1
    show(10,10);
    ?>
    1

    printData(20,20);
    ?>
    3
    printData(20,20);
    ?>
    8

    printData(20,20);
    ?>
    3
    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
    
    3
    final base class final method
    non final method of final base class
    
    4
    show(10,10);
    ?>
    4
    final 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.

    show(10,10);
    ?>

    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

    printData(20,20);
    ?>

    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).

    Hướng dẫn difference between final class and final method in php - sự khác biệt giữa lớp cuối cùng và phương thức cuối cùng trong php

    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?

    Sự khác biệt giữa lớp cuối cùng và phương pháp cuối cùng là gì?

    Nếu chúng ta khai báo một phương thức là cuối cùng, thì nó không thể bị ghi đè bởi bất kỳ lớp con nào. Và nếu chúng ta khai báo một lớp là cuối cùng, chúng ta sẽ hạn chế các lớp khác để kế thừa hoặc mở rộng nó. Nói cách khác, các lớp cuối cùng không thể được kế thừa bởi các lớp khác. And, if we declare a class as final, we restrict the other classes to inherit or extend it. In other words, the final classes can not be inherited by other classes.

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

    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.

    Sự khác biệt giữa lớp cuối cùng và lớp học là gì?

    Mục đích chính của việc sử dụng một lớp cuối cùng là để ngăn lớp được kế thừa (tức là) nếu một lớp được đánh dấu là cuối cùng, thì không có lớp nào khác có thể kế thừa bất kỳ thuộc tính hoặc phương thức nào từ lớp cuối cùng.Nếu lớp cuối cùng được mở rộng, Java đưa ra lỗi thời gian biên dịch.if a class is marked as final, then no other class can inherit any properties or methods from the final class. If the final class is extended, Java gives a compile-time error.

    Một lớp cuối cùng có cần một phương pháp cuối cùng không?

    Một lớp được tuyên bố bằng cách sử dụng từ khóa cuối cùng được gọi là lớp cuối cùng.Là một phương pháp cuối cùng không thể được ghi đè, lớp cuối cùng không thể được kế thừa.Không cần thiết cho một lớp cuối cùng để có các phương pháp cuối cùng.It is not necessary for a final class to have final methods.