您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
php的trait属性冲突
发布时间:2021-09-24 12:14:09编辑:雪饮阅读()
对于php的trait中属性冲突,像是trait中和基类和派生类中若存在属性冲突(同名属性)是会解析出错误的:
trait Dog{
public $name="dog";
public function bark(){
echo "This is dog";
}
public function eat(){
echo "Dog:This is dog";
}
}
class Animal{
public $name="Animal";
public function eat(){
echo "This is animal eat";
}
}
class Cat extends Animal{
public $name="cat";
use Dog;
public function drive(){
echo "This is cat drive";
}
public function bark(){
echo "Cat:This is dog";
}
}
$cat = new Cat();
$cat->drive();
echo "<br/>";
$cat->eat();
echo "<br/>";
$cat->bark();
?>
则又是可以运行成功的:
trait Dog{
public $name="dog";
public function bark(){
echo "This is dog";
}
public function eat(){
echo "Dog:This is dog";
}
}
class Animal{
public $name="dog";
public function eat(){
echo "This is animal eat";
}
}
class Cat extends Animal{
public $name="dog";
use Dog;
public function drive(){
echo "This is cat drive";
}
public function bark(){
echo "Cat:This is dog";
}
}
$cat = new Cat();
$cat->drive();
echo "<br/>";
$cat->eat();
echo "<br/>";
$cat->bark();
?>
关键字词:php,trait
下一篇:php多个trait