Home > Backend Development > PHP Tutorial > How to implement overloaded constructors in PHP_PHP Tutorial

How to implement overloaded constructors in PHP_PHP Tutorial

WBOY
Release: 2016-07-21 14:57:06
Original
830 people have browsed it

Overloading (unlike overriding) is not supported in PHP. In OOP, you can overload a method to implement two or more methods with the same name but different numbers or types of parameters

Number (it depends on the language). PHP is a loosely typed language, so overloading by type does not work, but overloading by different number of parameters does not work either.

Sometimes it’s good to overload constructors in OOP so that you can create objects in different ways (passing different numbers of arguments). The trick to achieve it in PHP is:

 

class Myclass {
function Myclass() {
$name="Myclass".func_num_args();
$this->$name();
//Note $this- >$name() is generally wrong, but here $name is the name of the method that will be called

 }

Function Myclass1($x) {
code;
}

function Myclass2($x,$y) {
code;
}

 }
?>
Using this class is transparent to the user through additional processing in the class:

 $obj1=new Myclass('1'); //Myclass1
will be called $obj2=new Myclass('1','2'); //Myclass2

will be called

Sometimes this is very useful.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/364133.htmlTechArticleOverloading (unlike overriding) is not supported in PHP. In OOP, you can overload a method to implement two or more methods with the same name but different numbers or types of parameters...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template