php中trait 多继承 成员属性一样怎么代替
答案:2 悬赏:30 手机版
解决时间 2021-03-14 10:37
- 提问者网友:椧運幽默
- 2021-03-13 13:06
php中trait 多继承 成员属性一样怎么代替
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-03-13 13:36
class myClass{
use myTrait;
}
$obj = new myClass();
$obj->traitMethod1();
$obj->traitMethod2();
// ↓↓ 只能调用public的属性和方法; protected以及private只供在traits内部自己调用;
echo $obj->traitPublic;
优先级问题
Trait会覆盖继承的方法,当前类会覆盖Trait方法。即 继承的方法 < Traits方法 < 当前类方法,
trait A{
public $var1 = 'test';
public function test()
{
echo 'A::test()';
}
public function test1()
{
use myTrait;
}
$obj = new myClass();
$obj->traitMethod1();
$obj->traitMethod2();
// ↓↓ 只能调用public的属性和方法; protected以及private只供在traits内部自己调用;
echo $obj->traitPublic;
优先级问题
Trait会覆盖继承的方法,当前类会覆盖Trait方法。即 继承的方法 < Traits方法 < 当前类方法,
trait A{
public $var1 = 'test';
public function test()
{
echo 'A::test()';
}
public function test1()
{
全部回答
- 1楼网友:污到你湿
- 2021-03-13 14:32
你好!
那就覆盖咯。
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯