PHP中的加强型接口Traits

php基础

浏览数:142

2019-9-6

AD:资源代下载服务

接口是对多重继承的一种变相实现, Traits可以被视为一种加强型的接口.

  先来看如下代码

trait Hello
{
    private $name = 'chenqionghe';
    public function sayHello()
    {
        echo 'hello ';
    }
}
trait World
{
    public $age = '18';
    public function sayWorld()
    {
        echo 'world ! ';
    }
}
class HandsonBoy
{
    use Hello,World;
    public function say()
    {
        echo 'i am '.$this->name;
    }
}
$boy = new HandSonBoy();
$boy->sayHello();
$boy->sayWorld();
echo $boy->say();

上面代码的运行结果如下

这里的HandsonBoy同时实现了两个traits,从而使其可以分别调用两个Traits里的代码段.从代码就可以看出,traits和接口很像,不同的是traits是可以导入代码的接口. 从某种意义来说,traits和接口都是对”多重继承”的一种变相实现.

作者:雪山飞猪