Quá tải oop php là gì?

Nạp chồng phương thức là một loại Nạp chồng khác với Nạp chồng thuộc tính. Đó là tạo một/nhiều phương thức động không được tạo trong phạm vi/phạm vi lớp đó. Khái niệm nạp chồng phương thức PHP cũng giúp kích hoạt các phương thức ma thuật được chỉ định cho mục đích thích hợp. Ngoài khái niệm nạp chồng thuộc tính, khái niệm nạp chồng của phương thức PHP cho phép gọi/gọi hàm trên cả đối tượng và cả ngữ cảnh tĩnh. Về cơ bản là một trong những phương pháp của OOP

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

Public _call (string $name1 , array $arguments1 ) : mixed
Public static _callStatic (string $name1 , array $arguments1 ) : mixed

Quá tải phương thức hoạt động như thế nào trong PHP?

Quá tải phương thức hoạt động với khai báo bên trong lớp bằng cách tạo các phương thức động. Nó cũng hoạt động bằng cách kích hoạt một số phương thức ma thuật cho một mục đích thích hợp và nó cũng gọi hàm/gọi hàm trên cả ngữ cảnh tĩnh và đối tượng. Khái niệm Quá tải phương thức cũng tốt với hầu hết các ngôn ngữ lập trình khác như c, java, v.v. Khái niệm Method Overloading còn được gọi là khái niệm đa hình tĩnh

Có một số chức năng kỳ diệu, chúng là

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)

Quá tải oop php là gì?
Quá tải oop php là gì?
Quá tải oop php là gì?
Quá tải oop php là gì?

Quá tải oop php là gì?
Quá tải oop php là gì?
Quá tải oop php là gì?
Quá tải oop php là gì?

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 (83.908 xếp hạng)

  • _cuộc gọi(). Hàm ma thuật call() này sẽ được kích hoạt để gọi phương thức/phương thức bị quá tải trong ngữ cảnh đối tượng
  • _callStatic(). Hàm ma thuật callstatic() này cũng sẽ được kích hoạt để gọi các khái niệm/phương thức quá tải trong ngữ cảnh tĩnh

Ví dụ về Nạp chồng phương thức trong PHP

Dưới đây là các ví dụ về Quá tải phương thức trong PHP được đề cập bên dưới

Ví dụ 1

Đối số $name1 trong ngôn ngữ lập trình PHP bên dưới là tên của phương thức sẽ được gọi trong khi $arguments là một trong các mảng được liệt kê có chứa các tham số/đối số được sử dụng để truyền cho phương thức $name ’ed

Hàm _call() được sử dụng với 2 tham số $name1 và $arguments1. Hàm Implode() thực sự trả về chuỗi từ các phần tử mảng i. e. , từ chuỗi/câu. Trong Implode(dấu phân cách, mảng), dấu phân cách là tham số tùy chọn nhưng nó chỉ khuyến nghị sử dụng cả hai tham số để tương thích ngược. Loại dấu tách cụ thể trong tham số dấu tách sẽ chèn dấu tách vào các từ/chuỗi có trong tham số mảng

Biến Obj sẽ tạo một đối tượng mới gọi là SPK. Obj-> sẽ giúp truy cập các phương thức và thuộc tính của đối tượng. Spk sẽ thực thi từ ngữ cảnh tĩnh trong khi obj sẽ chạy từ ngữ cảnh đối tượng

Mã số

runTest('in one of the object context');
SPK::runTest('in one of the static context');
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #2

Trong ví dụ dưới đây, lớp foo1 được tạo chỉ với hàm _call() với hàm die() để in một thông báo và cũng thoát khỏi tập lệnh chương trình/PHP hiện tại. Die() giống như hàm exit() chỉ chấp nhận một tham số bên trong dấu ngoặc đơn của nó

Foo1-> sẽ giúp truy cập các phương thức và thuộc tính của đối tượng từ biến $foo1

Mã số

{' wow !'}();
// outputs ' wow !'
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #3

Đây là ví dụ về nạp chồng phương thức trong ngôn ngữ lập trình PHP sử dụng hàm call() và các phương thức private/protected

Ở đây, việc gọi các phương thức riêng tư/được bảo vệ được thực hiện bằng cách truy cập bằng lỗi đánh máy hoặc thứ gì đó, v.v.

Echo _METHOD_PHP_EOL sẽ trả về loại phương thức được sử dụng. Nó được thực hiện bằng cách chỉ sử dụng hàm _call() chạy từ ngữ cảnh đối tượng

Mã số

$method1();
}
}
protected function bar1()
{
echo __METHOD__.PHP_EOL;
}
private function baz1()
{
echo __METHOD__.PHP_EOL;
}
}
$test    =    new TestMagicCallMethod1();
$test->foo1();
$test->bar1();
$test->baz1();
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #4

Đây là chương trình của khái niệm hàm gọi () và gọi hàm tĩnh () được sử dụng cho khái niệm nạp chồng phương thức. Ở đây, trong chương trình PHP dưới đây sẽ gọi hàm _call() trước khi gọi hàm _callstatic() trong ví dụ

Var dump() sẽ cung cấp thông tin về biến nằm trong dấu ngoặc đơn trong PHP và một số ngôn ngữ lập trình hướng đối tượng khác. Ngoài ra, mọi thứ đều giống như các ví dụ trên

Mã số

who();
}
public static function __callStatic($a1, $b1) {
var_dump('A1 static');
}
public function __call($a1, $b1) {
var_dump('A1 call');
}
}
$a1 = new A1;
$a1->test1();
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #5

Đây là ví dụ về hàm _call() nếu lớp của đối tượng được gọi với phương thức thậm chí không tồn tại thì khái niệm hàm _call() được gọi thay vì phương thức

Trong Chương trình PHP bên dưới, phương thức area() được tạo dưới dạng động để thực thi nhằm giúp phương thức kỳ diệu của khái niệm nạp chồng phương thức được gọi là hàm _call(). Hành vi của nó sẽ thay đổi dựa trên các tham số của đối tượng được truyền

Mã số

area1(3);
$rect1 = new Shape1();
echo $rect1->area1(8,6);
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #6

Ở đây cả hai hàm _call() và _callstatic() đều được sử dụng giống như ví dụ đầu tiên

Mã số

overloaded_method();
Toys1::overloaded_property();
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #7

Hàm Call() của Quá tải phương thức đã kích hoạt và gọi các phương thức không thể truy cập được trong ngữ cảnh đối tượng. Call() được trộn với cú pháp _call(string $name1 , array $arguments1)

Sau đó, tham số $name1 dành cho tên của phương thức sẽ được gọi trong khi mảng $arguments1 là tham số là một mảng liệt kê chứa/có các tham số sẽ được truyền cho phương thức biến $name

Mã số

displayMessage12($arguments1[0],$arguments1[1]);
}
elseif (count($arguments1) === 1) {
$this->displayMessage11($arguments1[0]);
} else {
echo "\n unknown method";
return false;
}
}
function displayMessage11($var11) {
echo "\n from func1($var11)";
}
function displayMessage12($var11,$var12) {
echo "\n from func2($var11,$var12)";
}
}
$obj1 = new ABC1;
$obj1->displayMessage11('hello');
$obj1->displayMessage12('hello','hello2');
$obj1->displayMessage13('Hello');
?>

đầu ra

Quá tải oop php là gì?

Ví dụ #8

Nó cũng giống như chương trình ví dụ đầu tiên. Kiểm tra nó một lần

Mã số

________số 8

đầu ra

Quá tải oop php là gì?

Ví dụ #9

Đây là chương trình hiển thị diện tích hình tròn và hình chữ nhật sử dụng một số tham số và hàm call() của khái niệm nạp chồng phương thức. Chỉ với ngữ cảnh đối tượng, chương trình sẽ chạy do đối tượng gán biến đối tượng cho lớp, v.v.

Mã số

area1(15); // display output of the area of circle
$rect1 = new TDshape1();
echo "\n Area of the rectangle:".$rect1->area1(5,11); // display output of the area of rectangle
?>

đầu ra

Quá tải oop php là gì?

Bài viết được đề xuất

Đây là hướng dẫn về Nạp chồng phương thức trong PHP. Ở đây chúng ta thảo luận về khái niệm cơ bản, cách Nạp chồng phương thức hoạt động trong PHP cùng với các ví dụ khác nhau. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Có quá tải trong PHP không?

PHP không hỗ trợ nạp chồng phương thức . Trong trường hợp bạn chưa bao giờ nghe nói về nạp chồng phương thức, điều đó có nghĩa là ngôn ngữ có thể chọn phương thức dựa trên tham số bạn đang sử dụng để gọi phương thức đó. Điều này có thể thực hiện được ở nhiều ngôn ngữ lập trình khác như Java, C++.

Quá tải và ghi đè trong PHP là gì?

Nạp chồng và ghi đè hàm là tính năng OOP trong PHP . Trong nạp chồng hàm, nhiều hàm có thể có cùng chữ ký phương thức nhưng số lượng đối số khác nhau. Nhưng trong trường hợp ghi đè hàm, nhiều hàm sẽ có cùng chữ ký phương thức và số lượng đối số.

Tại sao PHP không hỗ trợ quá tải?

Bạn không thể quá tải các hàm PHP. Chữ ký hàm chỉ dựa trên tên của chúng và không bao gồm danh sách đối số, vì vậy bạn không thể có hai hàm có cùng tên . Quá tải phương thức lớp trong PHP khác với nhiều ngôn ngữ khác. PHP sử dụng cùng một từ nhưng nó mô tả một mẫu khác.

Là quá tải một khái niệm OOP?

Trong các ngôn ngữ lập trình hướng đối tượng, chúng ta đạt được tính đa hình theo hai cách. Một là đa hình thời gian biên dịch (còn gọi là Quá tải) và hai là đa hình thời gian chạy (còn gọi là Ghi đè)