在PHP中,我们不能直接实现
方法重载的方法相同的方法名称和签名的方法不同,因为PHP是一种弱数据
类型并不能区分的签名很好。但是,这__call()方法可用于PHP的类实现方法重载的调用一个方法做。不在一个班的存在时,它调用__call()方法自动,在__call形式($name,争论,其中$美元)
名字的方法名,
参数是一个数组类型为参数。
下面的例子是动态
创建和使用PHP方法的重载方法。(在面向对象编程中,类
属性将使用get和set的分配,但是如果有太多的属性,如一个30级的,所以如果你没有方法的重载,我们需要写30集30得到的,而慢慢地,自己写的…)
复制代码代码如下所示:
< PHP
班上的人
{
私有名称;
私人年龄;
私人
地址;
私立学校;
私人phoneNum美元;
公共
功能__call($方法,为args)
{
疝环充填strtolower美元=(substr(合法、0.3));
资产= strtolower美元(substr(合法,3));
如果(空(合片)| |空(美元资产))
{
返回;
}
如果($年= =到isset(美元->美元财产))
{
返回$这个$ $属性;
}
如果($年= =
设置)
{
美元美元美元->属性= args { 0 };
}
}
}
新人();
$ P -> setName('lvcy);
P—> setage(23);
$ P ->设置设备地址(成都);
P—> setschool('uestc);
P—> setphonenum(为123456);
echo $ P -> getName(),';
echo $ P -> getAge(),';
echo $ P > getaddress(),';
echo $ P > getschool(),';
>
这个问题是通过__call容易
解决()方法,不让写每个属性设置方法。