php类定义了属性,类中的方法要使用默认值怎么办?

classexp{public$arg;functionfunc($arg,$pro="默认值"){//这个可能是错的,$arg好像不能写在这里。echo$this->a... class exp{
public $arg;
function func($arg,$pro="默认值"){ //这个可能是错的,$arg好像不能写在这里。
echo $this->arg.=$pro;
}
}
$obj=new exp;
$obj->func("必须要使用","");
//期待的结果是:必须要使用默认值。

php类定义了属性,类中的方法要使用默认值怎么办?
那这个怎么办?不定义类属性?
但exp类中还有N个方法需要使用$arg这个参数呢(或许该叫属性)。而且都是必须定义的参数,没有默认值的。默认值的参数又必须写$arg后面。
是不是这种类就不需要定义属性了?
展开
 我来答
妥当还勤俭的小菠萝蜜8
2014-04-01
知道答主
回答量:17
采纳率:0%
帮助的人:7.8万
展开全部
每个方法都必须要定义的参数就可以直接定义个类属性了,如果不变的话可以直接public $arg='xxx';
如果随着场景不同这个值可能会发生变化,就把赋值放到构造方法里
public function __construct($aa)
{
$this->arg = $aa;
}
$obj = new exp($aa);
下面的方法就不用传参数了,直接调用$this->arg就可以了
再如果每次调用不通的方法,变量arg都不同,就不要定义属性了,直接给方法传值就可以了。
loyating
2014-04-01 · 超过11用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:26.4万
展开全部
类外给成员属性赋值:$obj->arg = $arg;
初始化时候进行赋值:
__construct($arg=''){
$this->arg = $arg;

}
类中其他成员方法通过$this->arg都可以调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式