Phương thức cuối cùng trong php là gì

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

  • 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 cuối cùng được sử dụng trong PHP cho các phương thức và lớp. Phương thức cuối cùng ngăn chặn ghi đè phương thức, trong khi đối với các lớp có kế thừa ngăn chặn cuối cùng

Thí dụ

Để làm việc với từ khóa cuối cùng trong PHP, mã như sau. Ở đây, chúng ta có phương thức cuối cùng−

Bản thử trực tiếp

demo[];
?>

đầu ra

Điều này sẽ tạo ra đầu ra sau i. e. một lỗi do chúng tôi đã thử tạo một lớp dẫn xuất từ ​​một lớp cơ sở cuối cùng−

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

Ghi chú

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 chứng minh khái niệm này với sự trợ giúp của các ví dụ dưới đây

Thí dụ

Chúng ta không thể ghi đè chức năng của lớp cha

show[10,10];
?>

đầu ra

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

Giải trình

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 show trong bất kỳ lớp con nào của nó. Để xác định lỗi  ChildClass đang cố xác định phương thức cuối cùng show[]. Điều này sẽ tạo ra một lỗi nghiêm trọng, Nó ngụ ý rằng phương thức cuối cùng của lớp cha không thể được định nghĩa trong lớp con của nó

Thí dụ

Sử dụng từ khóa "Final" Before The Class

printData[20,20];
?>

đầu ra

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

Giải trình

Trong ví dụ trên class BaseClass định nghĩa với final, kết quả là chúng ta không thể mở rộng class này. Khi lớp Con cố gắng mở rộng từ BaseClass [ngụ ý Child là lớp con của BaseClass]. Đối với tình huống này, PHP đưa ra thông báo lỗi “Lớp con có thể không kế thừa từ lớp cuối cùng [BaseClass]”. Nó ngụ ý rằng nó sẽ không cho phép tạo bất kỳ lớp con nào của BaseClass

Lớp cuối cùng của PHP là một lớp ngăn ghi đè một phương thức 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 đang định nghĩa một phương thức có tiền tố cuối cùng thì nó sẽ ngăn việc ghi đè phương thức đó. Thông thường, sự kế thừa của khái niệm PHP OOP 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 của lớp cơ sở, nhưng khái niệm OOP của PHP cung cấp một cách để tạo các lớp không thể mở rộng. Lớp/các lớp như vậy được gọi là Lớp cuối cùng/Lớp cuối cùng

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [82.710 lượt xếp hạng]

cú pháp

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

final class Pavan{ }
final public function set_bike[]{}

Lớp cuối cùng của PHP 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 FINAL trước từ lớp. Lớp cuối cùng hoạt động mà không cần mở rộng lớp. Lớp con không thể ghi đè các phương thức 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 hoặc phương thức cuối cùng của PHP không thể được mở rộng giống như các lớp thông thường khác. Nếu lớp Cuối cùng được mở rộng bằ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 FATAL 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 “Ô tô1” này không thể được mở rộng. Bên trong lớp cuối cùng, các phương thức/hàm cuối cùng được tạo. Sau đó, lớp thông thường “Bmwcar1” được tạo bằng một 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. Sau đó, một lớp “Tata1” được tạo để mở rộng “Bmwcar1” có chức năng/phương thức thông thường “display[]” nhưng phương thức price[] không được tạo trong lớp Tata1 vì gọi nó sẽ gây ra lỗi nghiêm trọng do từ khóa cuối cùng. Nó không thể mở rộng. Sau đó, đối tượng “$bmwcar1” được tạo/tạo. Việc gọi các phương thức display[] và giá[] của phương thức cuối cùng được thực hiện từ lớp “Bmwcar1” và “tata1”

Mã số

Chủ Đề