Hướng dẫn method overloading in php w3schools - nạp chồng phương thức trong php w3schools
Quá tải phương pháp là một khái niệm lập trình hướng đối tượng giúp xây dựng ứng dụng tổng hợp một cách dễ dàng. Quá tải chức năng hoặc quá tải phương thức là một tính năng cho phép tạo ra một số phương thức có tên tương tự hoạt động khác nhau trong loại tham số đầu vào mà nó chấp nhận làm đối số. Show Khái niệm trên là tốt cho các ngôn ngữ lập trình khác và nó được gọi là quá tải phương pháp đa hình tĩnh. Thí dụHãy hiểu thông qua một ví dụ. doTask(5,10); ?> Output:Error Explanation:Điều này sẽ tạo ra một lỗi vì PHP sẽ nói rằng bạn đã khai báo phương thức này hai lần. Nhưng các ngôn ngữ lập trình khác cho biết, Dotask ($ var1) và dotask ($ var1, $ var2) là các phương thức quá tải. Để gọi cái sau, hai tham số phải được thông qua, trong khi cái trước chỉ yêu cầu một tham số. Vì vậy, hành vi này tức là quyết định gọi một hàm theo thời gian mã hóa được gọi là quá tải phương thức đa hình tĩnh. Chúng ta hãy thảo luận về cách đạt được quá tải phương pháp liên quan đến PHP5. Trong trường hợp của PHP, chúng ta phải sử dụng các phương thức ma thuật của PHP __call () để đạt được quá tải phương pháp. Trong quá tải PHP có nghĩa là hành vi của phương thức thay đổi động theo tham số đầu vào. Trong hướng dẫn này, chúng tôi sẽ hiểu những nhận thức đó. Hãy thảo luận về phương thức __call (). __call():Nếu một lớp thực thi __call (), thì nếu một đối tượng của lớp đó được gọi bằng một phương thức không tồn tại thì __call () được gọi thay vì phương thức đó. Thí dụHãy hiểu phương pháp quá tải với một ví dụ. area(3); $rect = new Shape(); echo $rect->area(8,6); ?> Output:9.426 48 Explanation:Ở đây Phương thức () phương thức được tạo ra và thực hiện với sự trợ giúp của Phương thức ma thuật __call () và hành vi của nó thay đổi theo thông số của tham số là đối tượng.
Cập nhật vào ngày 31 tháng 12 năm 2019 08:29:38
__callstatic () - được kích hoạt trong khi gọi các phương thức quá tải trong bối cảnh tĩnh.
Error6 Error95 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>5 Error97 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>7 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>8__ 9.426 481 9.426 482 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>04 __callstatic () - được kích hoạt trong khi gọi các phương thức quá tải trong bối cảnh tĩnh.
Tài sản và quy tắc quá tải trong PHP:
Các loại quá tải trong PHP: Có hai loại quá tải trong PHP. There are two types of overloading in PHP.
Quá tải thuộc tính: Quá tải thuộc tính PHP được sử dụng để tạo các thuộc tính động trong bối cảnh đối tượng. Để tạo các thuộc tính này, không cần dòng mã riêng biệt. Một thuộc tính được liên kết với một thể hiện lớp và nếu nó không được khai báo trong phạm vi của lớp, nó được coi là thuộc tính quá tải. Các hoạt động sau được thực hiện với các thuộc tính quá tải trong PHP. PHP property overloading is used to create dynamic properties in the object context. For creating these properties no separate line of code is needed. A property associated with a class instance, and if it is not declared within the scope of the class, it is considered as overloaded property. Following operations are performed with overloaded properties in PHP.
Trước khi thực hiện các hoạt động, chúng ta nên xác định các phương pháp ma thuật phù hợp. đó là,
Example: PHP
Error1 Error2 Error3 Error4
Error6 Error7 Error8
area(3); $rect = new Shape(); echo $rect->area(8,6); ?>1 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>2
Error6 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>5 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>6 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>7 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>8 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>9 9.426 480 9.426 481 9.426 482 9.426 483 9.426 484 9.426 481 9.426 486 9.426 487 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>7 9.426 489 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>9 9.426 484
Setting 'a' to '1' Getting 'a: 1 Is 'a' set? bool(true) Unsetting 'a' Is 'a' set? bool(false) 1 Private property are visible inside the class 2 Private property are not visible outside of class Getting 'hidden:3
Error6 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>5 Setting 'a' to '1' Getting 'a: 1 Is 'a' set? bool(true) Unsetting 'a' Is 'a' set? bool(false) 1 Private property are visible inside the class 2 Private property are not visible outside of class Getting 'hidden:7 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>7 9.426 480 9.426 481 9.426 482 Calling object method 'runTest' in object context Calling static method 'runTest' in static context22____34 9.426 481 Calling object method 'runTest' in object context Calling static method 'runTest' in static context5 Calling object method 'runTest' in object context Calling static method 'runTest' in static context6 Calling object method 'runTest' in object context Calling static method 'runTest' in static context7 Calling object method 'runTest' in object context Calling static method 'runTest' in static context6 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>7 area(3); $rect = new Shape(); echo $rect->area(8,6); ?>8 9.426 486 2 Phương pháp quá tải PHP là gì?Quá tải phương thức: Đây là một loại quá tải để tạo các phương thức động không được khai báo trong phạm vi lớp. Phương pháp PHP quá tải cũng kích hoạt các phương pháp ma thuật dành riêng cho mục đích phù hợp. Không giống như quá tải thuộc tính, quá tải phương thức PHP cho phép gọi chức năng trên cả bối cảnh đối tượng và tĩnh.a type of overloading for creating dynamic methods that are not declared within the class scope. PHP method overloading also triggers magic methods dedicated to the appropriate purpose. Unlike property overloading, PHP method overloading allows function call on both object and static context.
Phương pháp quá tải có được phép trong PHP không?PHP không hỗ trợ quá tải phương pháp.Trong trường hợp bạn chưa bao giờ nghe nói về quá tải phương thức, điều đó có nghĩa là ngôn ngữ có thể chọn một phương thức dựa trên các tham số bạn đang sử dụng để gọi nó.Điều này là có thể trong nhiều ngôn ngữ lập trình khác như Java, C ++.. In case you've never heard of method overloading, it means that the language can pick a method based on which parameters you're using to call it. This is possible in many other programming languages like Java, C++.
Sự khác biệt giữa phương thức ghi đè và quá tải trong PHP là gì?Quá tải chức năng và ghi đè là tính năng OOPS trong PHP.Trong quá tải chức năng, nhiều hơn một hàm có thể có cùng một chữ ký phương thức nhưng số lượng đối số khác nhau.Nhưng trong trường hợp ghi đè chức năng, nhiều hơn một hàm sẽ có cùng chữ ký phương thức và số lượng đối số.
Quá tải OOP PHP là gì?Quá tải trong PHP cung cấp các phương tiện để tạo các thuộc tính và phương thức tự động.Các thực thể động này được xử lý thông qua các phương thức ma thuật mà người ta có thể thiết lập trong một lớp cho các loại hành động khác nhau.provides means to dynamically create properties and methods. These dynamic entities are processed via magic methods one can establish in a class for various action types. |