我只是在玩特征以了解其目的是什么,我注意到它允许一个类使用多个特征类,而一个从一个抽象扩展的类可以一次从一个抽象扩展
以下是我的例子:
trait parentClass
{
public function sayHello()
{
return 'parentClass sayHell() printed';
}
}
trait parentSecondClass
{
public function sayGoodbye()
{
return 'parentClass sayGoodbye() printed';
}
}
class People
{
use parentClass;
use parentSecondClass;
}
$o = new People();
echo $o->sayHello() . '<br/>';
echo $o->sayGoodbye();
这是性状的一般用途吗?
答案 0 :(得分:4)
通常,traits用于许多类可能需要的抽象功能,这些类不属于同一个类层次结构。您可以使用特征将此功能保留在一个位置,并将其应用于多个类。
这并没有消除抽象类的用处,但它确实可能不需要静态实用程序类,通常可以将这些类型的函数放入其中。