Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Function Overloading: Function overloading contains same function name and that function performs different task according to number of arguments. For example, find the area of certain shapes where radius are given then it should return area of circle if height and width are given then it should give area of rectangle and
others. Like other OOP languages function overloading can not be done by native approach. In PHP function overloading is done with the help of magic function __call(). This function takes function name and arguments.
Example:
Bàn luận
<?php
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àm sẽ có cùng chữ ký phương thức và số lượng đối số. & NBSP; quá tải chức năng: quá tải chức năng chứa cùng tên hàm và hàm đó thực hiện tác vụ khác nhau theo số lượng đối số. Ví dụ: tìm diện tích của các hình dạng nhất định trong đó bán kính được đưa ra thì nó sẽ quay lại diện tích của vòng tròn nếu chiều cao và chiều rộng được đưa ra thì nó sẽ cho diện tích hình chữ nhật và các khu vực khác. Giống như các ngôn ngữ OOP khác không thể thực hiện được bằng cách tiếp cận bản địa. Trong quá tải chức năng PHP được thực hiện với sự trợ giúp của hàm ma thuật __call (). Hàm này lấy tên chức năng và đối số. & Nbsp; ví dụ: & nbsp; & nbsp;
PHP
class shape {
function __call(9.4264809.4264819.4264829.426483
9.4264849.4264859.426486____10 9.4264889.4264899.426483
<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>1<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>2 9.426486<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>49.426486__12
<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>8<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>9 Base class function!
Base class function declared final!
Derived class function!
Base class function declared final!0
Base class function! Base class function declared final! Derived class function! Base class function declared final!1Base class function! Base class function declared final! Derived class function! Base class function declared final!2 Base class function! Base class function declared final! Derived class function! Base class function declared final!39.426482Base class function! Base class function declared final! Derived class function! Base class function declared final!5
<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>1<?php6
9.426484<?php6
<?php6
<?php6
<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>8<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>9 Base class function!
Base class function declared final!
Derived class function!
Base class function declared final!8
class69.426486class2class9
Base class function! Base class function declared final! Derived class function! Base class function declared final!1Base class function! Base class function declared final! Derived class function! Base class function declared final!2 9.426482<?php29.426482<?php4
class2 class3class4 class5
shape {7
class6 shape {1shape {2 Function overriding is same as other OOPs programming languages. In function overriding, both parent and child classes should have same function name with and number of arguments. It is used to replace parent method in child class. The purpose of overriding is to change the behavior of parent class method. The two methods with the same name and same parameter is called overriding.
Example:
Bàn luận
<?php
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àm sẽ có cùng chữ ký phương thức và số lượng đối số. & NBSP; quá tải chức năng: quá tải chức năng chứa cùng tên hàm và hàm đó thực hiện tác vụ khác nhau theo số lượng đối số. Ví dụ: tìm diện tích của các hình dạng nhất định trong đó bán kính được đưa ra thì nó sẽ quay lại diện tích của vòng tròn nếu chiều cao và chiều rộng được đưa ra thì nó sẽ cho diện tích hình chữ nhật và các khu vực khác. Giống như các ngôn ngữ OOP khác không thể thực hiện được bằng cách tiếp cận bản địa. Trong quá tải chức năng PHP được thực hiện với sự trợ giúp của hàm ma thuật __call (). Hàm này lấy tên chức năng và đối số. & Nbsp; ví dụ: & nbsp; & nbsp;
PHP
class shape {
<?php6
<?php6
function __call(9.4264809.4264819.4264829.426483
PHP
class shape {
<?php6
<?php6
function __call(9.4264809.4264819.4264829.426483
9.4264849.4264859.426486____10 9.4264889.4264899.426483
__call(59.4264804
__call(99.4264804
shape {7
<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>1<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>2 9.426486<?php
class Base {
function display() {
echo "
Base class function declared final!";
}
function demo() {
echo "
Base class function!";
}
}
class Derived extends Base {
function demo() {
echo "
Derived class function!";
}
}
$ob = new Base;
$ob->demo();
$ob->display();
$ob2 = new Derived;
$ob2->demo();
$ob2->display();
?>49.426486__12
Chức năng quá tải trong PHP
Quá tải chức năng 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ố.
Thí dụ
Bây giờ chúng tôi thấy một ví dụ để thực hiện quá tải chức năng -
& nbsp; bản demo trực tiếp
<?php class Shape { const PI = 3.142 ; function __call($name,$arg){ if($name == 'area') switch(count($arg)){ case 0 : return 0 ; case 1 : return self::PI * $arg[0] ; case 2 : return $arg[0] * $arg[1]; } } } $circle = new Shape(); echo $circle->area(3); $rect = new Shape(); echo $rect->area(8,6); ?>Đầu ra
Điều này sẽ tạo ra đầu ra sau -
9.42648Chức năng ghi đè trong PHP
Trong chức năng ghi đè, các lớp cha và con có cùng tên hàm và số lượng đối số
Thí dụ
Bây giờ chúng tôi thấy một ví dụ để thực hiện quá tải chức năng -
& nbsp; bản demo trực tiếp
<?php class Base { function display() { echo "Base class function declared final!"; } function demo() { echo "
Base class function!"; } } class Derived extends Base { function demo() { echo "
Derived class function!"; } } $ob = new Base; $ob->demo(); $ob->display(); $ob2 = new Derived; $ob2->demo(); $ob2->display(); ?>
Đầu ra
Điều này sẽ tạo ra đầu ra sau -
Base class function! Base class function declared final! Derived class function! Base class function declared final!
9.42648
- Chức năng ghi đè trong PHP
- Trong chức năng ghi đè, các lớp cha và con có cùng tên hàm và số lượng đối số
- Bây giờ cho chúng tôi xem một ví dụ để thực hiện ghi đè chức năng -
- Cập nhật vào ngày 02 tháng 1 năm 2020 06:36:33
- Câu hỏi và câu trả lời liên quan
- Sự khác biệt giữa quá tải chức năng và ghi đè trong C ++
- Điều gì đang vượt qua và quá tải dưới tính đa hình trong Java?
- Quá tải PHP
- Phương thức quá tải phương thức V/S ghi đè trong Java
- Chức năng quá tải trong JavaScript là gì?
- Sự khác biệt giữa việc ghi đè chức năng và ẩn phương thức trong C#là gì?
- Ghi đè trong C#
- STR_STARTS_WITH và STR_ENDS_WITH trong Php 8
- Tăng ++ và giảm - Toán tử quá tải trong C ++
- Phương pháp quá tải và loại quảng cáo trong Java
- Phương pháp quá tải và lỗi null trong java