Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Định nghĩa của lớp cuối cùng PHP

Php Final Class là một lớp ngăn chặn việc ghi đè một phương pháp của các lớp con chỉ bằng tiền tố cuối cùng với định nghĩa. Điều đó có nghĩa là nếu chúng ta xác định một phương thức với tiền tố cuối cùng thì nó sẽ ngăn chặn việc ghi đè phương thức. Thông thường, sự kế thừa của khái niệm PHP OOPS sẽ cho phép sự linh hoạt to lớn trong hệ thống phân cấp lớp. Bạn có thể tạo một hoặc nhiều lớp con được sử dụng để mở rộng chức năng lớp cơ sở, nhưng khái niệm OOPS về PHP đưa ra một cách để tạo các lớp không thể mở rộng. Các lớp/lớp như vậy được/được gọi là lớp cuối cùng/lớp cuối cùng.

Syntax:

final class Pavan{ }
final public function set_bike(){}

Php Final Class hoạt động như thế nào?

Php Final Class hoạt động dựa trên khai báo chỉ bằng cách thêm từ khóa cuối cùng trước từ lớp. Lớp cuối cùng hoạt động mà không mở rộng lớp học. Lớp con có thể ghi đè các phương pháp cuối cùng. Các biến lớp bình thường không thể được sử dụng để khai báo là cuối cùng. Lớp cuối cùng PHP hoặc phương pháp có thể được mở rộng giống như các lớp bình thường khác. Nếu lớp cuối cùng được mở rộng bằng cách sử dụng bất kỳ lớp bình thường nào khác thì lớp cuối cùng sẽ khiến PHP trả về lỗi nghiêm trọng trong đầu ra của trình duyệt. Tương tự như vậy, phương pháp cuối cùng cũng vậy.

Ví dụ về lớp cuối cùng của PHP

Sau đây là các ví dụ được đưa ra dưới đây:

Ví dụ 1

Ở đây một lớp được tạo bằng cách sử dụng từ khóa cuối cùng trước lớp. Lớp cuối cùng này có thể mở rộng lớp học này. Bên trong lớp cuối cùng, các phương thức/chức năng cuối cùng được tạo ra. Sau đó, lớp bình thường BMWCAR1, được tạo bằng phương thức/hàm và sau đó tạo phương thức/hàm cuối cùng bên trong các thẻ đoạn văn. Sau đó, một lớp học Tata1, được tạo ra để mở rộng BMWCAR1, có hàm/phương thức bình thường Hiển thị (), nhưng phương thức giá () không được tạo trong lớp Tata1 vì gọi nó sẽ cung cấp lỗi nghiêm trọng vì từ khóa cuối cùng . Nó là không thể mở rộng. Sau đó, đối tượng $ bmwcar1 của người Viking được tạo/tạo. Các phương thức gọi () và phương thức cuối cùng Giá () được thực hiện từ lớp BMWCAR1 và lớp Tata1.

Code:

display1();
$bmwcar1->price1();
$tata1->display1();
$tata1->price1();
?>

Output:

Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Ví dụ #2

Ở đây, lớp A1 A1 được tạo với từ khóa cuối cùng. Sau đó, hàm bình thường, show show1 () được tạo với hai biến. Bên trong của nó tổng của các biến sẽ được lưu trữ trong biến $ sum1. Sau đó, hàm Echo được sử dụng để in tổng giá trị biến. Sau đó, lớp B1 B1 được tạo ra để mở rộng lớp A1 A1. Bên trong phép nhân lớp B1 B1 của các biến được thực hiện và lưu trong biến $ multi1. Kết quả nhân được in bằng cách sử dụng chức năng Echo nhưng ở đây chúng tôi đang mở rộng lớp cuối cùng là A1 A1 với lớp bình thường. Ở đây chúng tôi mở rộng lớp/phương pháp cuối cùng. Nó trả về lỗi nghiêm trọng vì chúng tôi mở rộng một lớp cuối cùng.

Code:

show1(1001,1001);
?>

Output:

Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Ví dụ #3

Ở đây, một lớp bình thường, C1 C1 với chức năng E ($ xx1) được tạo ra sau đó một lớp D1 D1 được tạo ra để mở rộng lớp C1 C1 để sử dụng các tham số của C1 C1. Vì vậy, lớp D1 D1 sẽ kế thừa các thuộc tính lớp của C1 C1 và cũng sẽ chứa các thuộc tính của lớp D1 D1. Cho đến đây mọi thứ đều đúng. Sau đó, một lớp A1 A1 được tạo ra với chức năng/phương thức cuối cùng bên trong nó với các biến của X1 X1, các biến của Y1, tính toán tổng của các biến. Sau khi lớp B1 B1 này được tạo ra để mở rộng lớp A1 A1. Nhưng các lớp cuối cùng, các phương pháp là không thể mở rộng. Nếu đã cố gắng gây ra lỗi nghiêm trọng sẽ xảy ra.

Code:

e(13);
$obj= new B1();
$obj->show(100,100);
?>

Output:

Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Ví dụ #4

Trong ví dụ dưới đây, một lớp bình thường được tạo lúc đầu và sau đó một phương thức cuối cùng được tạo bên trong nó với hai biến để tính tổng của hai giá trị biến thì một phương thức/hàm mới được tạo bên trong lớp bình thường Để nhân hai giá trị biến và trả về kết quả. Ở đây chỉ có một phương thức cuối cùng được tạo và được gọi mà không cần mở rộng để sẽ không có lỗi/lỗi. Tổng của các biến và cả phép nhân của các biến sẽ được in.

Code:

showone(12,12);
$obj->calculateone(10,10);
?>

Output:

Hướng dẫn can final class inherited php? - lớp cuối cùng có thể kế thừa php không?

Thuận lợi

Khái niệm lớp cuối cùng PHP là duy nhất và không thể mở rộng như các lớp bình thường. Giống như các lớp cuối cùng, các phương pháp cuối cùng cũng không thể mở rộng theo một cách duy nhất. Khái niệm lớp cuối cùng của PHP sẽ ngăn chặn chức năng kế thừa lớn và cũng khuyến khích thành phần. Tất cả các API công khai của lớp cuối cùng là/là một phần của giao diện/giao diện. Nó giúp đóng gói. Lớp/Phương thức cuối cùng sẽ ngăn lớp/Phương thức ghi đè các lớp/phương thức con. Các lớp/lớp cuối cùng của PHP sẽ ngăn ngừa khai thác. Mặc dù các lớp/lớp cuối cùng có thể được mở rộng nhưng các lớp cuối cùng này có thể mở rộng ở một số điều kiện. Nó giống như lớp cuối cùng trở thành hoặc có thể trở thành một lớp con nhưng nó có thể được biến thành một siêu lớp.

Từ khóa cuối cùng của PHP thậm chí có thể được đặt ngay trước hoặc ngay sau khi xác định chỉ định truy cập. Phương pháp/Phương thức cuối cùng của PHP cũng không có loại/loại trả về cụ thể/được chỉ định và tên/tên phương thức.

Bài viết đề xuất

Đây là một hướng dẫn cho lớp cuối cùng PHP. Ở đây chúng tôi thảo luận về định nghĩa và hoạt động của lớp cuối cùng của PHP cùng với các ví dụ khác nhau và việc triển khai mã của nó. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm -

  1. Tài liệu tham khảo PHP
  2. Lỗi nhật ký PHP
  3. Tìm kiếm mảng PHP
  4. Lớp học trừu tượng trong PHP

Chúng ta có thể kế thừa lớp cuối cùng trong PHP không?

Một lớp cuối cùng có thể chứa các phương pháp cuối cùng cũng như không cuối cùng. Nhưng không có cách sử dụng các phương pháp cuối cùng trong lớp khi lớp được tuyên bố là cuối cùng vì không thể thừa kế.inheritance is not possible.

Một lớp cuối cùng có thể được kế thừa?

Lớp cuối cùng là một lớp được khai báo với từ khóa cuối cùng.Các lớp con không thể kế thừa một lớp cuối cùng hoặc một lớp cuối cùng không thể được kế thừa bởi bất kỳ lớp con nào.Vì vậy, chúng ta có thể hạn chế kế thừa lớp học bằng cách sử dụng một lớp cuối cùng.a final class cannot be inherited by any subclass. So, We can restrict class inheritance by making use of a final class.

Việc thừa kế nào không được hỗ trợ trong PHP?

PHP không hỗ trợ nhiều kế thừa nhưng bằng cách sử dụng các giao diện trong PHP hoặc sử dụng các đặc điểm trong PHP thay vì các lớp, chúng ta có thể thực hiện nó.Đặc điểm (sử dụng lớp cùng với các đặc điểm): Đặc điểm là một loại lớp cho phép nhiều kế thừa.multiple inheritance but by using Interfaces in PHP or using Traits in PHP instead of classes, we can implement it. Traits (Using Class along with Traits): The trait is a type of class which enables multiple inheritance.

Một phương pháp cuối cùng có thể được kế thừa bởi một lớp con?

Không, chúng tôi không thể ghi đè một phương pháp cuối cùng trong Java.Công cụ sửa đổi cuối cùng để hoàn thiện việc triển khai các lớp, phương thức và biến.Chúng tôi có thể khai báo một phương thức là cuối cùng, một khi bạn khai báo một phương thức cuối cùng, nó không thể bị ghi đè.Vì vậy, bạn không thể sửa đổi một phương thức cuối cùng từ một lớp phụ.. The final modifier for finalizing the implementations of classes, methods, and variables. We can declare a method as final, once you declare a method final it cannot be overridden. So, you cannot modify a final method from a sub class.