php多构造器的实例代码
发布时间:2017-04-29 编辑:jiaochengji.com
本文介绍下,在php面向对象编程中,实现多个构造器的一例代码,感兴趣的朋友可以参考学习下。
本节内容:
php多构造器的类
在php编程中,实例化一个类时,需要根据构造方法的参数个数进行初始化不用的内容,类似php函数或方法的可选参数。
来看例子:
复制代码 代码示例:
<?php
/**
* php 多构造器的类
* by www.jbxue.com
*/
class A {
public function __construct() {
$a = func_get_args();
$i = func_num_args();
if (method_exists($this,$f='__construct'.$i)) {
call_user_func_array(array($this,$f),$a);
}
}
public function __construct1($a1) {
echo '__construct with 1 param called: '.$a1.PHP_EOL;
}
public function __construct2($a1,$a2) {
echo '__construct with 2 params called: '.$a1.','.$a2.PHP_EOL;
}
public function __construct3($a1,$a2,$a3) {
echo '__construct with 3 params called: '.$a1.','.$a2.','.$a3.PHP_EOL;
}
}
$o = new A('sheep');
$o = new A('sheep','cat');
$o = new A('sheep','cat','dog');
// 结果:
// __construct with 1 param called: sheep
// __construct with 2 params called: sheep,cat
// __construct with 3 params called: sheep,cat,dog
?>
/**
* php 多构造器的类
* by www.jbxue.com
*/
class A {
public function __construct() {
$a = func_get_args();
$i = func_num_args();
if (method_exists($this,$f='__construct'.$i)) {
call_user_func_array(array($this,$f),$a);
}
}
public function __construct1($a1) {
echo '__construct with 1 param called: '.$a1.PHP_EOL;
}
public function __construct2($a1,$a2) {
echo '__construct with 2 params called: '.$a1.','.$a2.PHP_EOL;
}
public function __construct3($a1,$a2,$a3) {
echo '__construct with 3 params called: '.$a1.','.$a2.','.$a3.PHP_EOL;
}
}
$o = new A('sheep');
$o = new A('sheep','cat');
$o = new A('sheep','cat','dog');
// 结果:
// __construct with 1 param called: sheep
// __construct with 2 params called: sheep,cat
// __construct with 3 params called: sheep,cat,dog
?>
您可能感兴趣的文章:
php构造函数的小例子
Java中类的构造器讲解
php面向对象编程之构造方法的例子
PHP构造函数的深入理解
C#类的学习笔记之C#构造函数
php构造函数与析构函数初探
Java入门:理解构造器 (转)
c# 类型构造器学习
C#私有构造函数的简单例子
php构造函数和析构函数学习
上一篇:PHP构造函数的深入理解
下一篇:入门级PHP简单分页代码
[关闭]